Aspose Cells for Java
Aspose Cells for Java
Aspose.Blogs | 在 Java 中将 Excel 文件转换为图像
Excel 转 Word → 格式乱了 ❌
String filePath = "tmp/templates/报价单.xlsx";
Workbook workbook = new Workbook(filePath);
workbook.save("tmp/templates/aaa.docx", SaveFormat.DOCX);
Excel 转 XML → 是 Excel xml,不是 Word xml ❌
将 Excel 文件转换为图像

Excel 电子表格广泛用于存储、组织和分析数据。但是,您不能将 Excel 工作簿或工作表直接嵌入到您的 Web 或桌面应用程序中。 合适的选项之一是将工作表转换为图像或 HTML 格式。在本文中,您将学习如何使用 Java 将 Excel XLSX/XLS 文件转换为 PNG、JPEG、BMP 和其他图像格式。
- Excel 到图像转换器 API
- 将 Excel 文件转换为图像
- Excel 到图像转换的其他选项
- 获得免费许可证
1. Java Excel 到图像转换器 API
为了将 Excel XLSX 或 XLS 文件转换为图像格式,我们将使用 Aspose.Cells for Java API。 它是一个强大的电子表格操作 API,可将工作表高质量地转换为 PNG、JPEG、BMP 和其他流行的图像格式。 Aspose.Cells for Java 可以下载为 JAR 或使用以下 Maven 配置安装。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>24.2</version>
</dependency>
Aspose.Cells for Java 支持将 Excel 文件转换为以下图像格式:
- 电磁场
- WMF
- JPEG
- PNG
- BMP
- 动图
- 国际电影节
- SVG
- GLTF
- 信息通信技术
- 支持向量机
- 办公室兼容 EMF
2. 将 Excel XLSX 转换为 Java 中的图像
以下是将工作表转换为 PNG 图像的步骤以及 API 参考。
- 使用 Workbook 类加载 Excel 文件。
- 创建 ImageOrPrintOptions 类的实例。
- 使用 ImageOrPrintOptions.setImageType(ImageType) 方法设置输出图像类型。
- 获取要转换为 Worksheet 对象的工作表。
- 创建一个 SheetRender 对象并使用 Worksheet 和 ImageOrPrintOptions 对象对其进行初始化。
- 使用 SheetRender.toImage(int, String) 方法转换工作表并保存图像文件。
以下代码示例展示了如何使用 Java 将 Excel XLSX 文件转换为图像。
// 加载 Excel 文件
Workbook workbook = new Workbook("workbook.xlsx");
// 创建 ImageOrPrintOptions 的对象
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
// 设置输出图像类型
imgOptions.setImageType(ImageType.PNG);
// 获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
// 为目标工作表创建一个 SheetRender 对象
SheetRender sr = new SheetRender(sheet, imgOptions);
for (int page = 0; page < sr.getPageCount(); page++) {
// 为工作表生成图像
sr.toImage(page, "tmp/images/image" + page + ".png");
}
Excel 文件

转换后的 PNG

3. Excel 到图像转换的其他选项
Aspose.Cells for Java 还提供了额外的选项来自定义 XLSX 到图像的转换。 例如,您可以指定网格线的样式、每张纸渲染一个图像等等。 ImageOrPrintOptions 类用于设置这些选项。API | ImageOrPrintOptions
以下代码示例展示了如何使用 Excel 中的 ImageOrPrintOptions 类进行图像转换。
// 加载 Excel 文件
Workbook workbook = new Workbook("workbook.xlsx");
// 创建 ImageOrPrintOptions 的对象
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
// 设置图像类型
imgOptions.setImageType(ImageType.PNG);
// 设置每张渲染一页
imgOptions.setOnePagePerSheet(true);
// 设置网格线
imgOptions.setGridlineType(GridlineType.DOTTED);
// 获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
// 为目标工作表创建一个 SheetRender 对象
SheetRender sr = new SheetRender(sheet, imgOptions);
for (int page = 0; page < sr.getPageCount(); page++) {
// 为工作表生成图像
sr.toImage(page, "tmp/images/image" + page + ".png");
}
以下是一些常用的 Unicode 字体,可以在 Aspose.Cells 中使用:
- 宋体(SimSun)
- 黑体(SimHei)
- 微软雅黑体(Microsoft YaHei)
- 宋体(宋)(STSong)
- 楷体(楷体_GB2312)(STKaiti)