写在前面:
各位朋友们大家好,我是奋斗的小强001,根据本期文档安排,将于今天更新第一期: POI和HSSFWorkbook介绍
整理功能工期安排说明,请移步:
POI相关
简介
apache POI是基于Office Open XML标准(OOXML)和 Microsoft 的OLE 2复合文档格式(OLE2)处理各种文件格式的开源项目。 简而言之,您可以使用 Java 读写MS Excel文件,可以使用Java读写MS Word和MS PowerPoint文件。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
XSSFWorkbook相关
简介
在百度翻译中,给到翻译结果是 工作簿,就是咱们俗称的 excel
他在代码中的作用是:构建excel文件对象,写数据到excel中的前提,必不可少。
需要注意的是:
操作Excel文件区分版本:
2003版本(包含2003)以前的扩展名为.xls需要用HSSFWorkbook类操作
2007版本(包含2007)以后的扩展名为.xlsx需要用XSSFWorkbook类操作
本人以前是用的是HSSFWorkbook ,目前已经完成XSSFWorkbook的升级,XSSFWorkbook支持HSSFWorkbook所产生的文件格式。
常用属性介绍(只涉及到本工具类中使用的)
- 创建XSSFWorkbook
XSSFWorkbook wb = new XSSFWorkbook();
- 创建工作表
sheet= xssfWorkbook.createSheet();
- 设置sheet的边距
// 设置左边距
sheet.setMargin(XSSFSheet.LeftMargin, 1);
// 设置右边距
sheet.setMargin(XSSFSheet.RightMargin, 1);
// 设置上边距
sheet.setMargin(XSSFSheet.TopMargin, 1);
// 设置下边距
sheet.setMargin(XSSFSheet.BottomMargin, 1);
- 字体样式
// 设置字体
font.setFontName("宋体");
// 设置字号
font.setFontHeightInPoints(( short ) 11);
- 合并单元格
// 参数:起止行终止行起止列终止列
CellRangeAddress rangoin = new CellRangeAddress(2,2,8,9);
// 加入指定sheet
sheet.addMergedRegion(rangoin);
单元格样式demo
/**
* 单元格样式居中,边框
* @param wb
* @return
*/
public static CellStyle getTableStyle(Workbook wb){
// 创建单位格样式
CellStyle tableStyle=wb.createCellStyle();
tableStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
tableStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
tableStyle.setBorderTop(BorderStyle.MEDIUM);//上边框
tableStyle.setBorderBottom(BorderStyle.MEDIUM);//下边框
tableStyle.setBorderLeft(BorderStyle.MEDIUM);//左边框
tableStyle.setBorderRight(BorderStyle.MEDIUM);//右边框
// 字体大小
Font font = wb.createFont();
short s = 10;
font.setFontHeightInPoints(s);
tableStyle.setFont(font);
return tableStyle;
}
其他
其他未涉及到的属性,欢迎大家整理。
写在最后
本期文章主要是从POI的大面 和导出使用的XSSFWorkbook been对象的属性两方面介绍了一些导出前期需要了解的内容,鉴于本人水平有限,如有写得不周之处,还望大佬指正。
谢谢观看,下期见。