POIOffice 文档的 Java 处理包

联合创作 · 2023-09-28 22:24

Apache POI是基于Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)处理各种文件格式的开源项目。 简而言之,您可以使用Java读写MS Excel文件,可以使用Java读写MS Word和MS PowerPoint文件。

模块

  • HSSF - 提供读写Microsoft Excel XLS格式(Microsoft Excel 97 (-2003))档案的功能。

  • XSSF - 提供读写Microsoft Excel OOXML XLSX格式(Microsoft Excel XML (2007+))档案的功能。

  • SXSSF - 提供低内存占用量读写Microsoft Excel OOXML XLSX格式档案的功能。

  • HWPF - 提供读写Microsoft Word DOC97格式(Microsoft Word 97 (-2003))档案的功能。

  • XWPF - 提供读写Microsoft Word DOC2003格式(WordprocessingML (2007+))档案的功能。

  • HSLF/XSLF - 提供读写Microsoft PowerPoint格式档案的功能。

  • HDGF/XDGF - 提供读Microsoft Visio格式档案的功能。

  • HPBF - 提供读Microsoft Publisher格式档案的功能。

  • HSMF - 提供读Microsoft Outlook格式档案的功能。

Maven依赖

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml-schemas</artifactId>
    <version>4.1.2</version>
</dependency>

示例

处理EXCEL文档的示例代码:

// Define a few rows
for(short rownum = (short)0; rownum < 30; rownum++) {
  HSSFRow r = s.createRow(rownum);
  for(short cellnum = (short)0; cellnum < 10; cellnum += 2) {
    HSSFCell c = r.createCell(cellnum);
    HSSFCell c2 = r.createCell(cellnum+1);

    c.setCellValue((double)rownum + (cellnum/10));
    c2.setCellValue(new HSSFRichTextString("Hello! " + cellnum);
  }
}

处理WORD文档的示例代码:

XWPFDocument doc = new XWPFDocument();
XWPFParagraph paragraph = doc.createParagraph();
paragraph.createRun().setText("为这个段落追加文本");
try (FileOutputStream out = new FileOutputStream("simple.docx")) {
    doc.write(out);
}

在线Javadoc:http://www.ostools.net/apidocs/apidoc?api=apache-POI

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报