天天看点

itext 把xlsx文件解析为html,使用 java,itext和 POI API将excel文件转换为 pdf,并保留设置_java_开发99编程知识库...

我有一个Excel文件,其中包含 5列,合并单元格。空白单元格。日期和其他文本信息( 普通Excel文件) 。

我正在使用java中的POI API读取这个文件。 我可以使用 iText jar 将文件转换为pdf表。

但是,整个格式没有复制到pdf中。 ( 比如 。合并的单元格进入一列,它的他格式或者设置都已经消失) 。

创建了一个简单的pdf表。

如何保留与excel中的格式相同的格式? ( 我希望在pdf中准确地复制excel图纸)

下面是我正在使用的代码//First we read the Excel file in binary format into FileInputStream

FileInputStream input_document = new FileInputStream(new File("K:DCIN_TERDCIN_EPU2CIRCUIT FROM BRANCHRAINBOW ORDERS" + SONo.trim() +"" + SONo.trim() +" - Checklist.xls"));

//Read workbook into HSSFWorkbook

HSSFWorkbook my_xls_workbook = new HSSFWorkbook(input_document);

//Read worksheet into HSSFSheet

HSSFSheet my_worksheet = my_xls_workbook.getSheetAt(0);

//To iterate over the rows

Iterator rowIterator = my_worksheet.iterator();

//We will create output PDF document objects at this point

com.itextpdf.text.Document iText_xls_2_pdf = new com.itextpdf.text.Document();

PdfWriter.getInstance(iText_xls_2_pdf, new FileOutputStream("K:DCIN_TERDCIN_EPU2CIRCUIT FROM BRANCHRAINBOW ORDERS" + SONo.trim() +"" + SONo.trim() +" - Checklist.pdf"));

iText_xls_2_pdf.open();

//we have 5 columns in the Excel sheet, so we create a PDF table with 5 columns; Note: There are ways to make this dynamic in nature, if you want to.

PdfPTable my_table = new PdfPTable(5);

//We will use the object below to dynamically add new data to the table

PdfPCell table_cell;

//Loop through rows.

while(rowIterator.hasNext())

{

Row rowi = rowIterator.next();

Iterator cellIterator = rowi.cellIterator();

while(cellIterator.hasNext())

{

Cell celli = cellIterator.next();//Fetch CELL

switch(celli.getCellType())

{

//Identify CELL type you need to add more code here based on your requirement/transformations

case Cell.CELL_TYPE_STRING:

//Push the data from Excel to PDF Cell

table_cell = new PdfPCell(new Phrase(celli.getStringCellValue()));

//move the code below to suit to your needs

my_table.addCell(table_cell);

break;

case Cell.CELL_TYPE_NUMERIC:

//Push the data from Excel to PDF Cell

table_cell = new PdfPCell(new Phrase("" + celli.getNumericCellValue()));

//move the code below to suit to your needs

my_table.addCell(table_cell);

break;

}

//next line

}

}

//Finally add the table to PDF document

iText_xls_2_pdf.add(my_table);

iText_xls_2_pdf.close();

//we created our pdf file..

input_document.close();//close xls

我已经将excel文件作为图像附加

itext 把xlsx文件解析为html,使用 java,itext和 POI API将excel文件转换为 pdf,并保留设置_java_开发99编程知识库...