Atitit.导出excel报表的设计与实现java .net php 总
Atitit.导出excel报表的设计与实现java .net php 总结
2.1. private static void toExcel(String titles, String filds,List<Map> list,OutputStream outStrm)2
2.2. Response版 toExcel(String titles, String filds,List<ati> li,HttpServletResponse response )2
2.3. File版 toExcel(String titles, String filds,List<Map> list,String outputFilePath)2
1. 导出报表 表格的设计要素
1.1. 支持通用list<Map>转换
1.2. 对于空列是否输出
1.3. 支持http web直接输出
作者:: 绰号:老哇的爪子(EAGLE paw,鹰爪,简称爪子) 全名简写:Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2. Api
2.1. private static void toExcel(String titles, String filds,List<Map> list,OutputStream outStrm)
2.2. Response版 toExcel(String titles, String filds,List<ati> li,HttpServletResponse response )
2.3. File版 toExcel(String titles, String filds,List<Map> list,String outputFilePath)
public static void toExcel(String titles, String filds,List<Map> list,String outputFilePath) throws Exception {
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("sheet1");
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow((int) 0);
// 第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
String[] tit_arr=titles.split(",");
int n=0;
for(String tit:tit_arr)
{
HSSFCell cell = row.createCell((short) n);
cell.setCellValue(tit);
//cell.set
cell.setCellStyle(style);
n++;
}
// 第五步,写入实体数据 实际应用中这些数据从数据库得到,
for (int i = 0; i < list.size(); i++)
{
row = sheet.createRow((int) i + 1);
Map stu = (Map) list.get(i);
// 第四步,创建单元格,并设置值
int colIndex=0;
for(String tit:tit_arr)
{
String curField=getFild(filds,colIndex);
Object v = stu.get(curField);
if(v==null) v="";
//String val =v.toString();
//// try{
//// val= v.toString();
//// }catch(Exception e){}
//if(val==null)continue;
HSSFCell cell = row.createCell((short) colIndex);
if(v instanceof Integer)
cell.setCellValue(Double.valueOf(v.toString()));
else
cell.setCellValue(v.toString());
//cell.setCellStyle(style);
colIndex++;
}
}
// 第六步,将文件存到指定位置
try
{
//String outputFilePath = "E:/students.xls";
FileOutputStream fout = new FileOutputStream(outputFilePath);
wb.write(fout);
fout.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
3. Php版本PHPExcel
参考
atitit.查询结果 导出为excel的实现java .net php 总结
Atitit.导出excel报表的设计与实现java .net php 总的更多相关文章
- Atitit.导出excel报表的设计与实现java .net php 总结
Atitit.导出excel报表的设计与实现java .net php 总结 1. 导出报表 表格的设计要素1 1.1. 支持通用list<Map>转换1 1.2. 对于空列是否输出1 1 ...
- Atitit.导出excel功能的设计 与解决方案
Atitit.导出excel功能的设计 与解决方案 1.1. 项目起源于背景1 1.2. Js jquery方案(推荐)jquery.table2excel1 1.3. 服务器方案2 1.4. 详细 ...
- atitit.导出excel的设计----查询结果 导出为excel的实现java .net php 总结
atitit.导出excel的设计----查询结果 导出为excel的实现java .net php 总结 1. 基本的流程 查询获得list 读取jsp的table获得标题and 字段的map to ...
- 从数据库中导出excel报表
通常需要将后台数据库中的数据集或者是其他列表等导出excel 报表,这里主要引用了Apose.cells dll 类库, (1)直接上主要代码: protected void txtExport_Cl ...
- poi导出Excel报表多表头双层表头、合并单元格
效果图: controller层方法: /** * * 导出Excel报表 * @param request * @return * */ @ ...
- java导出excel报表
1.java导出excel报表: package cn.jcenterhome.util; import java.io.OutputStream;import java.util.List;impo ...
- Java使用POI实现数据导出excel报表
Java使用POI实现数据导出excel报表 在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅 ...
- 根据模板导出Excel报表并生成多个Sheet页
因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为 根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...
- 根据模板导出Excel报表并复制模板生成多个Sheet页
因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为 根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...
随机推荐
- Eclipse Build all and build project not working - jar missing
Eclipse Build all and build project not working - jar missing
- Java里的浅复制与深复制
1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅复制仅仅复制所考虑的对象,而不 复制它所引用的对象. ...
- [Contest20180314]学习
为了响应班级组团学习的要求,班主任xx将班上的$n$个同学编成了$m$个学习小组. 班长小r作为资深OI选手,他发现班级里存在一个可以量化的学习激♂情,并且这个激情跟组内成♀对的同学数量相关.若有$x ...
- [CF468D]Tree
[CF468D]Tree 题目大意: 一棵\(n(n\le10^5)\)个编号为\(1\sim n\)的点的带边权的树,求一个排列\(p_{1\sim n}\),使\(\sum dis(i,p_i ...
- Bootstrap-table自定义可编辑每页显示记录数
写在前面: 最近在做的person功能,由于后期系统中person人数较多,不利用查找person,故需求方将要求可以自己编辑每页显示的数目,而不是固定的写死每页显示的数目. 下面先来看下bootsr ...
- MyBasic架构
MyBasic架构图 2,架构图解析 (1) (2) (3)
- iOS开发——使用Autolayout生成动态高度的TableViewCell单元格
步骤一.TableViewCell中使用Autolayout 要点:Cell的高度必须在Constraints中指明,但不能定死,需要让内部由内容决定高度的View决定动态高度. 如UILabel设置 ...
- iOS 获取自定义cell上按钮所对应cell的indexPath.row的方法
在UITableView或UICollectionView的自定义cell中创建一button,在点击该按钮时知道该按钮所在的cell在UITableView或UICollectionView中的行数 ...
- centos 7.3systemctl工具
http://www.cnblogs.com/tswcypy/p/4479153.html
- Java笔记1:IntelliJ IDEA详细安装步骤
安装IntelliJ IDEA 一.安装JDK 1 下载最新的jdk,这里下的是jdk-8u66 2 将jdk安装到默认的路径C:\Program Files\Java目录下 二.安装IntelliJ ...