使用Apache POI,我们可以将Excel XLSX文件保存为PDF。以下是实现此任务的代码示例:
// 导入所需的类和包
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFPrintSetup;
import org.apache.poi.xssf.usermodel.XSSFPrintSetup.Scale;
public class ExcelToPDFConverter {
public static void convertExcelToPDF(String inputFilePath, String outputFilePath) throws Exception {
// 创建输入流
FileInputStream input = new FileInputStream(inputFilePath);
// 创建工作簿对象并加载输入流
Workbook workbook = WorkbookFactory.create(input);
// 获取工作簿的第一个工作表
XSSFSheet sheet = (XSSFSheet) workbook.getSheetAt(0);
// 获取打印设置,并设置适当的缩放比例
XSSFPrintSetup printSetup = sheet.getPrintSetup();
printSetup.setScale(Scale.FIT_WIDTH);
// 创建输出流
FileOutputStream output = new FileOutputStream(new File(outputFilePath));
// 将工作簿保存为PDF并关闭所有流
XSSFWorkbook xssfWorkbook = (XSSFWorkbook) workbook;
xssfWorkbook.save(output, XSSFWorkbook.PDF);
input.close();
output.close();
workbook.close();
使用上述代码,您可以将Excel XLSX文件转换为PDF格式并保存在指定的输出路径中。只需调用下面的代码即可实现转换:
ExcelToPDFConverter.convertExcelToPDF("input.xlsx", "output.pdf");
其中,“input.xlsx”是要转换的Excel文件的输入路径,“output.pdf”是生成的PDF文件的输出路径。