java实现一个,根据list生成表格pdf的工具类
时间: 2023-05-31 10:03:57 浏览: 110
java生成pdf工具类
以下是一个简单的Java工具类,可以根据List生成表格PDF:
```java
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.List;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
public class PDFGenerator {
public static void generatePDF(List<Object[]> dataList, String filePath) {
Document document = new Document(PageSize.A4);
try {
PdfWriter.getInstance(document, new FileOutputStream(filePath));
document.open();
PdfPTable table = new PdfPTable(dataList.get(0).length);
addTableHeader(table, dataList.get(0).length);
for (Object[] data : dataList) {
addTableRow(table, data);
}
document.add(table);
document.close();
System.out.println("PDF file has been generated successfully.");
} catch (FileNotFoundException | DocumentException e) {
e.printStackTrace();
}
}
private static void addTableHeader(PdfPTable table, int columnCount) {
PdfPCell cell;
for (int i = 0; i < columnCount; i++) {
cell = new PdfPCell(new Paragraph("Column " + (i + 1)));
cell.setPadding(10);
table.addCell(cell);
}
}
private static void addTableRow(PdfPTable table, Object[] data) {
for (Object field : data) {
table.addCell(String.valueOf(field));
}
}
}
```
该工具类使用了iText库来生成PDF文件。它接受一个列表和一个文件路径作为参数,并在指定路径上生成PDF文件。列表中的每个对象数组都表示表格中的一行。要使用该工具类,您需要将iText库添加到您的项目中。
阅读全文