excel操作工具
来源:互联网 发布:刘亦菲家族 知乎 编辑:程序博客网 时间:2024/06/06 02:37
public class ExcelUtil {
public static boolean createExcel(HttpServletResponse response, Map map) {
WritableWorkbook wbook = null;
WritableSheet sheet = null;
OutputStream os = null;
try {
response.reset();
String fileName="客户资料"+TimeUtil.getNowDayTimeShortStr();
//生成文件名
response.setHeader("Content-disposition", "attachment; filename="
+ new String(fileName.getBytes("GB2312"), "ISO8859-1")
+ ".xls");
response.setContentType("application/msexcel");
os = response.getOutputStream();
wbook = Workbook.createWorkbook(os);
sheet = wbook.createSheet("信息", 0);
int row = 0;
//填写表头
setSheetTitle(sheet, row);
//遍历map,填充数据
setSheetData(sheet, map, row);
wbook.write();
os.flush();
} catch (Exception e) {
//自己处理
e.printStackTrace();
}finally {
try {//切记,此处一定要关闭流,否则你会下载一个空文件
if (wbook != null)
wbook.close();
if (os != null)
os.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
return false;
}
private static void setSheetTitle(WritableSheet sheet, int row)
throws RowsExceededException, WriteException {
// 设置excel标题格式
WritableFont wfont = new WritableFont(WritableFont.ARIAL, 12,
WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
Colour.BLACK);
WritableCellFormat wcfFC = new WritableCellFormat(wfont);
//设置每一列宽度
sheet.setColumnView(0,13);
sheet.setColumnView(1,20);
sheet.setColumnView(2,13);
sheet.setColumnView(3,13);
sheet.setColumnView(4,13);
//填写第一行提示信息
sheet.addCell(new Label(0, row, "登录方式", wcfFC));
sheet.addCell(new Label(1, row, "帐号", wcfFC));
sheet.addCell(new Label(2, row, "次数", wcfFC));
sheet.addCell(new Label(3, row, "最近日期", wcfFC));
sheet.addCell(new Label(4, row, "最近时间", wcfFC));
}
private static void setSheetData(WritableSheet sheet, Map map, int row)
throws RowsExceededException, WriteException {
WritableFont wfont = new WritableFont(WritableFont.ARIAL, 10,
WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,
Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(wfont);
//从map中获取数据
List<Terminal> terminalList = (List<Terminal>) map.get("terminalList");
if(terminalList.size()==0){
row++;
sheet.mergeCells(0, 1, 4, 1);
sheet.addCell(new Label(0, row, "暂无相关数据...",wcfFC));
}else{
//遍历并填充
for (Terminal terminal : terminalList) {
row++;
sheet.addCell(new Label(0, row, terminal.getType()));
sheet.addCell(new Label(1, row, terminal.getName()));
sheet.addCell(new Label(2, row, ""+terminal.getLogin_count()));
sheet.addCell(new Label(3, row, terminal.getDate()));
sheet.addCell(new Label(4, row, terminal.getHour()));
}
}
}
}
0 0
- excel操作工具
- Excel操作工具类ExcelHelper
- java操作Excel工具类
- poi操作excel工具类
- java操作excel的工具
- 【工具类】常用操作Excel
- apach poi 操作excel 工具类似
- POI操作excel示例工具类
- Excel 操作工具 For .Net Framework 4.0
- java操作excel的工具jxl
- java操作Excel工具类简易版
- Java script操作Excel报表工具汇总
- excel操作工具(03,07,10)
- JAVA通过JXL工具操作EXCEL文件
- 封装poi操作Excel工具类
- PHPExcel ------ PHP中操作Excel、PDF、CVS的工具
- java使用jxl工具导入导出excel操作
- 通过Excel直接操作数据库DB的工具
- 音频混音算法实现
- DeepFace: Closing the Gap to Human-Level Performance in Face Verification
- 通过LIBXML2解析XML后,以JSON-C格式封装数据反馈给HTML
- 使用SoftReference软引用
- Android Viewbadger 实现消息数字提示
- excel操作工具
- XML命名空间
- LeetCode--Climbing Stairs
- java 虚拟机--新生代与老年代GC
- 提高 Linux 上 socket 性能
- Oracle11gR2——RMAN复制数据库的实施
- [置顶] JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类
- Android入门之addWindow
- HDU 2029