1. 使用Apache POI + iText
首先,需要将Excel的内容转换为HTML,然后再使用iText将其转换为PDF。这里假设有一个简单的HTML生成器来处理Excel内容。
引入依赖(Maven)
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.2.2</version>
</dependency>
示例代码
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.property.TextAlignment;
import java.io.*;
public class ExcelToPdfConverter {
public static void main(String[] args) throws IOException {
String excelFilePath = "path/to/excel/file.xlsx";
String pdfFilePath = "path/to/output/file.pdf";
// Load the Excel file
try (FileInputStream fis = new FileInputStream(excelFilePath)) {
XSSFWorkbook workbook = new XSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0); // Assume first sheet
// Create PDF document
PdfWriter writer = new PdfWriter(pdfFilePath);
PdfDocument pdfDoc = new PdfDocument(writer);
Document doc = new Document(pdfDoc);
// Convert each row in the Excel sheet to a paragraph and add it to the PDF
for (Row row : sheet) {
StringBuilder sb = new StringBuilder