Poi 生成xls

it2022-05-09  31

来首小诗:

    今日不胜昨日寒,我却把那拖鞋穿,脚儿冰冰秋风瑟,抬头一看碧蓝天。         ---泥沙砖瓦浆木匠

项目需求:

  p2p项目中,需要一些数据报表一xls的格式,提供下载。并给主管签名。

方案:

------------------------

  poi 3.9

------------------------

第一步学习:

了解poi:

  

Apache POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。目前POI已经有了Ruby版本。

结构:

HSSF - 提供读写Microsoft Excel XLS格式档案的功能。XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。HWPF - 提供读写Microsoft Word DOC格式档案的功能。HSLF - 提供读写Microsoft PowerPoint格式档案的功能。HDGF - 提供读Microsoft Visio格式档案的功能。HPBF - 提供读Microsoft Publisher格式档案的功能。HSMF - 提供读Microsoft Outlook格式档案的功能。

我需要的就是hssf。

poi3.9这里我分享下

链接: http://pan.baidu.com/s/1EHymz 密码: f94c

第二步学习:

清单1.定义新的xls里面工作簿和一个sheet页

Workbook wb = new HSSFWorkbook(); //定义一个新的工作簿Sheet sheet1= wb.createSheet("满标复审模板"); //定义第一个sheet页

清单2.创建一个文件流,并输出一个xls

wb.write(fos); // Workbook 将流写进工作簿 FileOutputStream fos = new FileOutputStream("D://测试.xls"); //输出一个新的xls wb.write(fos); fos.close();

做了前两个,main里面运行就生成了一个xls

清单3.创建行,单元格-->并赋值  

Row row = sheet1.createRow(0); //为第一个sheet页创建标题 Cell cell = row.createCell(column); //为相应行创建一个单元格cell.setCellValue("借款标满标确认单");

  并注意,这些写在清单1,2之间。

 

第三步学习:

  鄙人自己想了想,然后学习下,觉得

    1.字体font,单元style归一类

    2.赋值,合并单元格归一类

在一个sheet页里面,

    step1.创建内容

    /**创建 制单人--制单编号**/ Row row1 = sheet1.createRow(1); setRowOfFourSecondTitle(wb, sheet, row1,1,"制单人:", "Li","制单编号:","20131115");

    step2.进入setRowOfFourSecondTitle

/** * 创建 制单人--制单编号 * @param workbook * @param sheet * @param row * @param column * @param valString1 //列1的值 * @param valString2 //列2的值 * @param changeString1 //列3的值--填入值 * @param changeString2 //列4的值--填入值 */

private static void setRowOfFourSecondTitle(Workbook workbook,Sheet sheet,Row row, int column,String valString1,String changeString1 ,String valString2,String changeString2) { row.setHeightInPoints(40); //行高度 sheet.setDefaultColumnWidth(30); //设置列的宽度 Cell cel0 = row.createCell(0); //为相应行创建列1 单元格 cel0.setCellValue(valString1); cel0.setCellStyle(getCellStyleOfOne(workbook)); Cell cell2 = row.createCell(2); //为相应行创建列3单元格 cell2.setCellValue(valString2); cell2.setCellStyle(getCellStyleOfOne(workbook)); Cell cell1 = row.createCell(1); //为相应行创建列2单元格 cell1.setCellValue(changeString1); cell1.setCellStyle(getCellStyleOfTwo(workbook)); Cell cell3 = row.createCell(3); cell3.setCellValue(changeString2); cell3.setCellStyle(getCellStyleOfTwo(workbook)); }

      step3.由于单元格的里面样式不同

--------------------------------------------

    getCellStyleOfTwo 其一    getCellStyleOfOne 其二 ------------------------------------------

举其中的一个例子:

其一

/** * 制单人--制单编号 对应样式 * @param workbook * @return 制单人--制单编号 对应样式 */

private static CellStyle getCellStyleOfOne(Workbook workbook) { CellStyle style1 = workbook.createCellStyle(); // 样式对象 style1.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); // 垂直 style1.setAlignment(HSSFCellStyle.ALIGN_RIGHT); // 水平 Font font1=workbook.createFont(); font1.setColor(HSSFColor.BLACK.index); //字体颜色 font1.setFontHeightInPoints((short)10); //字体大小 font1.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //字体增粗 style1.setFont(font1); return style1; }

 

第四步学习:

www.baidu.com 文档学习。

总结:

  poi操作xls挺简单的,应用那块也有推荐。可以找找视频学习。主要是一些接口的熟悉。

 

转载于:https://www.cnblogs.com/Alandre/p/3426815.html

相关资源:android中poi生成word文档和excel文档

最新回复(0)