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://www.cnblogs.com/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 总结
最新文章
- java web学习总结(七) -------------------HttpServletResponse对象(一)
- qq客服代码
- 孙鑫MFC学习笔记9:状态栏与工具栏编程
- Linux Deepin 2014安装Lenovo LJ2600D驱动
- Linux-Apache+Mysql+PHP+PHPWind(重点Apache+PHP集成环境)
- 解决IIS6.0不能下载EXE文件之妙方!
- 14.5.2.3 Consistent Nonlocking Reads 一致性非锁定读
- ASP.NET页面同时发起多个ajax请求,出现阻塞情况
- Eclipse下Maven插件配置
- Java设计模式——Observer(观察者)模式
- vmware 10 注冊码
- iTOP-4412开发板_驱动_adc驱动升级和测试例程
- Android ScrollView嵌套Recyclerview滑动卡顿,松手即停问题解决;
- 数据结构(三)串---KMP模式匹配算法
- java运行显示“找不到或无法加载主类”的解决办法(linux)
- hadoop之 安全模式及SafeModeException
- 【源代码R3】移植一份LARGE_INTEGER转时间的代码
- android 智能指针的学习先看邓凡平的书扫盲 再看前面两片博客提升
- apache 静态编译和动态编译参考
- Python3基本数据类型(五)
热门文章
- RabbitMQ (四) 工作队列之公平分发
- 1.2(Spring MVC学习笔记) Spring MVC核心类及注解
- Java高级架构师(一)第07节:远程使用以及冲突解决
- 如何用JavaScript重定向到另一个网页?
- MySQL查询时区分大小写(转)
- P2P通信标准协议(四)之SIP
- svn的安装(整合apache、ldap)包括错误解决post commit FS processing had error
- mysql-connector-java-6日期存储时差的问题解决方法
- 【java】File的使用:将字符串写出到本地文件,大小0kb的原因
- pymongo增删查改以及条件查询