我想提取/使用Apache POI and Java
和保存为图像或为我的硬盘驱动器上的PDF从我.xlsx
文件中读取的图表(条形图/饼图等)。如何将图表从Excel保存为图像/ PDF?
这可能吗?如果是,如何?
谢谢!
我想提取/使用Apache POI and Java
和保存为图像或为我的硬盘驱动器上的PDF从我.xlsx
文件中读取的图表(条形图/饼图等)。如何将图表从Excel保存为图像/ PDF?
这可能吗?如果是,如何?
谢谢!
经过很多调查,显然我可以看到它是不可能使用Apache POI从Excel中提取图表并将其保存为图像或PDF。
一个可以在这种情况的方法是使用Com4j(http://com4j.kohsuke.org/)到的Excel转换为PDF然后用的Apache PDFBox的使用基于COM的解决方案(https://pdfbox.apache.org/)从PDF转换为图像 。
得到下述有关如何使用Com4j到的Excel转换成PDF编程简单的细节:
生成Java类从Excel文物与下面的命令:
爪哇 - jar tlbimp-2.1.jar -o wsh -p com.mycompany.excel4j“C:\ Program Files(x86)\ Microsoft Office \ Office14 \ EXCEL.exe”
我们需要对上述转换的JAR 3:com4j-2.1.jar,TLBIMP-2.1.jar,args4j-2.0.8.jar
我们可以从以下网站下载相应的JAR文件 - http://com4j.kohsuke.org/maven-com4j-plugin/dependencies.html
欲了解更多信息,请参阅:http://com4j.kohsuke.org/
复制生成Java工件到工作区或创建JAR,并将其添加到应用程序类路径中后使用。
使用下面的代码片段从Java调用生成的COM API和转换指定Excel中的第一张文件为PDF(您的计算机上相应替换下面的代码段用于Excel和PDF文件中提及的路径):
public static void main(String[] args) throws Exception {
_Application excelApplication = ClassFactory.createApplication();
_Workbook workbook = excelApplication
.workbooks()
.open("C:\\Users\\Akki\\Desktop\\MyExcel.xlsx",
null, null, null, null,
null, null, null,
null, null, null, null, null,
null, null, 0);
workbook.exportAsFixedFormat(XlFixedFormatType.xlTypePDF, "C:\\Users\\Akki\\Desktop\\MyPDF.pdf", null, null, null, null, null, null, null);
workbook.close(false, null,null, 0);
excelApplication.quit();
System.out.println("Converted Excel to PDF!"); }
干杯,
阿克沙伊
的[我如何从Excel导出图表为图形(可能的复制http://stackoverflow.com/quest离子/ 2495480 /我怎么做出口图表从excel作为图形) – Draken
我不想使用Aspose,因为它不是免费的。关于JExcel,我可以看到不推荐使用Apache POI。 –