引入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.0.1</version>
</dependency>
在POI包中有如下几个主要对象和excel的几个对象对应:
对应excel名称 | 低版本中的类名 | 高版本中的类名 |
---|---|---|
工作簿 | HSSFWorkbook | XSSFWorkbook |
工作表 | HSSFSheet | XSSFSheet |
行 | HSSFRow | XSSFRow |
单元格 | HSSFCell | XSSFCell |
单元格样式 | HSSFCellStyle | XSSFCellStyle |
POI-HSSF 和 POI-XSSF/SXSSF - Java API 用于访问 Microsoft Excel 格式文件 (apache.org)
User API(HSSF 和 XSSF)
写入新文件
高级 API (包:org.apache.poi.ss.usermodel) 是大多数人应该使用的。用法非常简单。
工作簿是通过创建 的实例来创建的 org.apache.poi.ss.usermodel.Workbook. 要么创建 直接具体类 (org.apache.poi.hssf.usermodel.HSSFWorkbook or org.apache.poi.xssf.usermodel.XSSFWorkbook),或使用 方便的工厂类 org.apache.poi.ss.usermodel.WorkbookFactory.
工作表是通过从现有的调用 createSheet() 创建的 工作簿实例,创建的工作表会自动添加到 序列到工作簿。工作表本身没有工作表 名称(底部的选项卡);你设置 通过调用与工作表关联的名称 Workbook.setSheetName(sheetindex,“SheetName”,encoding). 对于 HSSF,名称可能为 8 位格式 (HSSFWorkbook.ENCODING_COMPRESSED_UNICODE) 或 Unicode (HSSFWorkbook.ENCODING_UTF_16)。违约 HSSF 的编码为每字符 8 位。对于 XSSF,名称 自动处理为 Unicode。
行是通过从现有的调用 createRow(rowNumber) 来创建的 工作表的实例。只有具有单元格值的行才应 添加到工作表中。要设置行的高度,您只需调用 setRowHeight(height) 在行对象上。高度必须以 缇,或 1/20 点。如果您愿意,还有一个 设置行高在点方法。
单元格是通过从 现有行。只有具有值的单元格才应添加到 排。单元格的单元格类型应设置为以下任一 Cell.CELL_TYPE_NUMERIC或Cell.CELL_TYPE_STRING取决于 它们是否包含数字或文本值。细胞还必须具有 值集。通过使用调用 setCellValue 来设置值 字符串或双精度作为参数。单个单元格没有 宽度;您必须调用 setColumnWidth(colindex, width) (使用单位 字符的 1/256th)在工作表对象上。(你不能这样做 GUI 中的个人基础)。
单元格使用单元格样式对象设置样式,而这些对象又包含 对字体对象的引用。这些是通过 通过调用 createCellStyle() 和 createFont() 的工作簿对象。 创建对象后,必须设置其参数(颜色, 边框等)。设置单元格样式调用的字体 setFont(fontobj).
生成工作簿后,您可以通过以下方式将其写出 从工作簿实例调用 write(输出流),传递 它是一个输出流(例如,文件输出流或 ServletOutputStream)。您必须自己关闭输出流。高山 不会为您关闭它。
下面是一些示例代码(摘自并改编自 org.apache.poi.hssf.dev.HSSF test class):
asf - Revision 1910259: /poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/ss