1. 产品
  2.   电子表格
  3.   Java
  4.   DOCX4J
 
  

用于 Microsoft® 电子表格文档的开源 Java 库

通过开源 API 在 Java 应用程序中创建、读取、编辑和转换 Microsoft Excel 电子表格文件。

什么是 DOCX4J?

DOCX4J 类似于 Microsoft 的 OpenXML SDK,但用于 Java。 DOCX4J 是基于 JAXB 的开源 (Apache v2) 库,用于处理 Microsoft Office 文件格式。它提供读取、写入、编辑和保存 XLSX 文件格式的功能。

使用 API,您可以生成电子表格文档、编辑它们、格式化文本和段落、插入图表、插入表格和图像以及管理其他表单元素等等。基本上,它的重点是功能,如果格式支持它,您可以使用 API 来实现。

Previous Next

DOCX4J 入门

首先,您需要在系统上安装 Java 开发工具包 (JDK)。在基于 Maven 的 Java 项目中引用 DOCX4J 更加简单。您只需在 pom.xml 中添加以下依赖项,并让您的 IDE 获取并引用 DOCX4J Jar 文件。

DOCX4J Maven 依赖

<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-Internal</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-MOXy</artifactId>
<version>8.0.0</version>
</dependency>
    

用于读取和写入 XLSX 的 Java 库

它是一个强大的库,用于创建和操作现有的以及新的 XLSX 文件格式。它使开发人员能够访问和读取电子表格中特定工作表中的数据。通常,一个电子表格包含多个工作表。如果用户有兴趣仅从一张表中读取数据并跳过其他表。通过使用以下步骤,您可以在 Java 中创建 Microsoft Excel

轻松创建 Excel

  1. 初始化 SpreadsheetMLPackage 的对象
  2. 创建工作表
  3. 获取工作表数据
  4. 保存文档

使用 Java 创建 Excel Free

// Create spreadsheet package
SpreadsheetMLPackage pkg = SpreadsheetMLPackage.createPackage();
// Create worksheet
WorksheetPart sheet = pkg.createWorksheetPart(new PartName("/xl/worksheets/sheet1.xml"), "Sheet1", 1);
SheetData sheetData = sheet.getContents().getSheetData();
// Save
pkg.save(new File("FileFormat.xlsx"));                
                  

使用 Java API 处理电子表格单元格

DOCX4J 允许您访问单元格并通过坐标设置其值。您还可以创建一个新单元格并在其中设置一个公式。您还可以将单元格配置为占用各种类型的数据,例如日期、时间和带有前导零的数字。

在 Excel 单元格中添加内容 - Java

// Create spreadsheet package
SpreadsheetMLPackage pkg = SpreadsheetMLPackage.createPackage();
// Create worksheet
WorksheetPart sheet = pkg.createWorksheetPart(new PartName("/xl/worksheets/sheet1.xml"), "Sheet1", 1);
SheetData sheetData = sheet.getContents().getSheetData();
// Add Data
Row row = Context.getsmlObjectFactory().createRow();
Cell cell = Context.getsmlObjectFactory().createCell();
cell.setV("1234");
row.getC().add(cell);
CTXstringWhitespace ctx = Context.getsmlObjectFactory().createCTXstringWhitespace();
ctx.setValue("Open Source Java Library for Spreadsheet Documents");
CTRst ctrst = new CTRst();
ctrst.setT(ctx);
cell.setT(STCellType.INLINE_STR);
cell.setIs(ctrst);
row.getC().add(cell);
sheetData.getRow().add(row);
// Save
pkg.save(new File("FileFormat.xlsx"));                
                  
 中国人