javaEE开发之导出excel工具类
web开发中,一个系统的普通需求也包含导出excel,一般採用POI做统计报表导出excel。
导出excel工具类:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import java.util.Map; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ExportExcel { private ExportExcel() {
super();
} public static void exportExcel(List<Object> list, Map<Integer, Long> map,
String[] titles) throws IOException {
// 创建Excel文档
HSSFWorkbook hwb = new HSSFWorkbook();
// sheet 相应一个工作页
HSSFSheet sheet = hwb.createSheet("exportReport");
int colNum = titles.length;
// 创建第一行
HSSFRow firstrow = sheet.createRow(0);
HSSFCell[] firstcell = new HSSFCell[colNum];
for (int col = 0; col < colNum; col++) {
firstcell[col] = firstrow.createCell(col);
firstcell[col].setCellValue(new HSSFRichTextString(titles[col]));
} // 插入记录
int rowNum = map.size();
for (int i = 0; i < rowNum; i++) {
// 从第二行開始
HSSFRow row = sheet.createRow(i + 1);
// 插入list中的字段
for (int col = 0; col < colNum - 2; col++) {
HSSFCell cell = row.createCell(col);
cell.setCellValue(list.get(col).toString());
}
// 插入月份或日期
row.createCell(colNum - 2).setCellValue(i + 1);
// 插入总量
row.createCell(colNum - 1).setCellValue(map.get(i + 1));
}
String fileName = titles[1].substring(0, 2);
if (colNum == 4) {
fileName += list.get(0) + "_" + list.get(1) + "年_年度报表";
} else if (colNum == 5) {
fileName += list.get(0) + "_" + list.get(1) + "年" + list.get(2)
+ "月_月度报表";
}
// 创建文件输出流,准备输出电子表格
OutputStream out = new FileOutputStream("../webapps/UsedMallMinaServer/files/"
+ fileName + ".xls");
hwb.write(out);
out.close();
}
}
javaEE开发之导出excel工具类的更多相关文章
- 导入导出Excel工具类ExcelUtil
前言 前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hibe ...
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
- 使用POI导出EXCEL工具类并解决导出数据量大的问题
POI导出工具类 工作中常常会遇到一些图表需要导出的功能,在这里自己写了一个工具类方便以后使用(使用POI实现). 项目依赖 <dependency> <groupId>org ...
- 导出Excel工具类
import java.io.OutputStream; import java.lang.reflect.Method; import java.text.SimpleDateFormat; imp ...
- java导出excel工具类
java导出excel须要使用HSSFWorkbook这个类,须要导入poi-3.6-20091214.jar 工具类调用例如以下: package com.qlwb.business.util; i ...
- Java XSSF 导出excel 工具类
参数解释: title:导出excel标题.headers 导出到excel显示的列头. columns 对应数据库字段 .list 导出数据1.pox中添加依赖 <dependency> ...
- JXL导出Excel工具类
将Excel中的数据读取到List<Map<String, Object>>集合中 package com.mvc.util; import java.io.File; ...
- NPOI导入导出Excel工具类
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Ref ...
- 关于Excel导入导出POI工具类
import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import ...
随机推荐
- c++11 stl atomic_flag 样例
Author:DriverMonkey Mail:bookworepeng@Hotmail.com Phone:13410905075 QQ:196568501 測试环境:Win7 64 bit 编译 ...
- for循环语句之棋盘放粮食、百鸡百钱、纸张的折叠问题
1.棋盘放粮食 ; ; i < ; i++) { ; ; j <= i; j++) { x = x * ; } lszl = lszl + x; } double zl = lszl * ...
- Hadoop Error:Name node is in safe mode的解决方法
Error:name node is in safe mode 解决方法:hadoop dfsadmin -safemode leave(见图)
- 基于visual Studio2013解决C语言竞赛题之0607strcpy
题目
- 在Eclipse/MyEclipse中安装spket插件
Spket ide是强大的工具包为了JavaScript和XML的开发,这个强大的编辑器对JavaScript, XUL/XBLand Yahoo! Widget的开发都有全面的支持 ,比如代码完毕, ...
- 同步内核缓冲区 sync、fsync和fdatasync函数
同步内核缓冲区 1.缓冲区简单介绍 人生三大错觉之中的一个:在调用函数write()时,我们觉得该函数一旦返回,数据便已经写到了文件里.可是这样的概念仅仅是宏观上的.实际上.操作系统实现某些文件I/O ...
- VC2008如何生成及使用DLL(图文并茂,完整版)
博客分类: Dot net VC2008 DLL Dot net 生成.使用DLL看起来简单,但做起来才发现还是有一些地方需要注意的. 1. 打开VS2008,新建一个VC工程,选择Win32类型 ...
- Android NFC传输联系人VCF
import android.app.Activity; import android.content.ContentResolver; import android.content.Context; ...
- 用PowerMockito来mock私有方法(转)
话说我们做的所谓的接口测试真的是不伦不类啊,测的是controller层,那叫接口木??!!可是老大们说写的是接口测试,那就接口吧! 自接手写这个接口测试不久,很多人,包括一个关系比较好的架构师就跟我 ...
- poj 3258 River Hopscotch 【二分】
题目真是不好读,大意例如以下(知道题意就非常好解了) 大致题意: 一条河长度为 L,河的起点(Start)和终点(End)分别有2块石头,S到E的距离就是L. 河中有n块石头,每块石头到S都有唯一的距 ...