主页 > 办公自动化 > 如何用JAVA 压缩POI生成的EXCEL

如何用JAVA 压缩POI生成的EXCEL

2022-10-14 11:56来源:m.sf1369.com作者:宇宇

一、如何用JAVA 压缩POI生成的EXCEL

看出错信息,需要用XSSF处理,是你读取的文件格式不对吧,获取的file是XML文件吗?可以加一句System.out.pringtln(file.getName())看看,poi是处理excel的。

二、java 操作poi 导出excel 多个sheet

String[] handers = {'1','2','4','5','6'};

HSSFWorkbook wb = new HSSFWorkbook();//创建工作簿

HSSFSheet sheet = wb.createSheet(sheet1);//第一个sheet

HSSFRow rowFirst = sheet.createRow(0);//第一个sheet第一行为标题

//写标题了

for (int i = 0; i < handers.length; i++) {

    //获取第一行的每一个单元格

    HSSFCell cell = rowFirst.createCell(i);

    //往单元格里面写入值

    cell.setCellValue(handers[i]);

}

//写数据集

//假定数据集是list集合

for (int i = 0;i < list.size; i++) {

    //获取list里面存在是数据集对象

    Object obj = list.get(i);

    //创建数据行

    HSSFRow row = sheet.createRow(i+1);

    //设置对应单元格的值

    row.createCell(0).setCellValue(obj 的属性0);

    row.createCell(1).setCellValue(obj 的属性1);

    row.createCell(2).setCellValue(obj 的属性2);

    row.createCell(3).setCellValue(obj 的属性3);

    row.createCell(4).setCellValue(obj 的属性4);

    row.createCell(5).setCellValue(obj 的属性5);

}

//写出文件(path为文件路径含文件名)

OutputStream os = new FileOutputStream(new File(path));

wb.write(os);

以上代码为写出单个sheet,多个sheet其实是同理的!关键就是在创建sheet的时候保证sheet名字不同,对于你的需求,个人建议利用面向对像的思想构建一个excel 对象,对像属性有文件名,文件sheet,然后在是sheet对象包含标题,数据集属性,忘采纳,谢谢!

三、如何实现poi快速导入excel

参考:

 public static void xlsDto2Excel(Listxls) throws Exception { // 获取总列数 int CountColumnNum = xls.size(); // 创建Excel文档 HSSFWorkbook hwb = new HSSFWorkbook(); XlsDto xlsDto = null; // sheet 对应一个工作页 HSSFSheet sheet = hwb.createSheet(pldrxkxxmb); HSSFRow firstrow = sheet.createRow(0); // 下标为0的行开始 HSSFCell[] firstcell = new HSSFCell[CountColumnNum]; String[] names = new String[CountColumnNum]; names[0] = 学号; names[1] = 姓名; names[2] = 学院; names[3] = 课程名; names[4] = 成绩; for (int j = 0; j < CountColumnNum; j++) { firstcell[j] = firstrow.createCell(j); firstcell[j].setCellValue(new HSSFRichTextString(names[j])); } for (int i = 0; i < xls.size(); i++) { // 创建一行 HSSFRow row = sheet.createRow(i + 1); // 得到要插入的每一条记录 xlsDto = xls.get(i); for (int colu = 0; colu <= 4; colu++) { // 在一行内循环 HSSFCell xh = row.createCell(0); xh.setCellValue(xlsDto.getXh()); HSSFCell xm = row.createCell(1); xm.setCellValue(xlsDto.getXm()); HSSFCell yxsmc = row.createCell(2); yxsmc.setCellValue(xlsDto.getYxsmc()); HSSFCell kcm = row.createCell(3); kcm.setCellValue(xlsDto.getKcm()); HSSFCell cj = row.createCell(4); cj.setCellValue(xlsDto.getCj()); (xlsDto.getMessage()); } } // 创建文件输出流,准备输出电子表格 OutputStream out = new FileOutputStream(POI2Excel/pldrxkxxmb.xls); hwb.write(out); out.close(); System.out.println(数据库导出成功); }

相关推荐

企业办公软件都有哪些?

办公自动化 2024-01-14

数控车床自动编程用什么软件?

办公自动化 2024-01-12

写字间物业管理方案

办公自动化 2023-12-09

自动化的好处和坏处

办公自动化 2023-12-05

单片机有什么特征?

办公自动化 2023-11-27

excel2007教程|excel2007教程下载

办公自动化 2023-11-22