zoukankan      html  css  js  c++  java
  • Java的Apache的POI Excel中保存为PDF

    问题描述

    我怎么能转换/保存 Excel中文件复制到 PDF ?我使用的java游戏框架来产生一些 Excel中文件,现在要求修改 PDF 。我不想再code一切。 

    有没有办法转换为 PDF 

    我生成的 Excel中文件是从模板;我读的Excel模板文件,写入更改,然后保存为新的Excel文件。这样一来,该模板是不变的。它包含边框,图像和其他格式。

    推荐答案

    您将需要以下Java库和相关的JAR文件的程序协同工作。
    POI V3.8
    iText的v5.3.4 

    试用此例为XLS转换为PDF 

    在完整的Java code,接受Excel的小号preadsheet数据作为输入和转换是一个PDF表格数据表示如下:

     import java.io.FileInputStream;
        import java.io.*;
        import org.apache.poi.hssf.usermodel.HSSFWorkbook;
        import org.apache.poi.hssf.usermodel.HSSFSheet;
        import org.apache.poi.ss.usermodel.*;
        import java.util.Iterator;
       import com.itextpdf.text.*;
        import com.itextpdf.text.pdf.*;
    
        public class excel2pdf {  
                public static void main(String[] args) throws Exception{
    
                        FileInputStream input_document = new FileInputStream(new File("C:\\excel_to_pdf.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<Row> rowIterator = my_worksheet.iterator();
                        //We will create output PDF document objects at this point
                        Document iText_xls_2_pdf = new Document();
                        PdfWriter.getInstance(iText_xls_2_pdf, new FileOutputStream("Excel2PDF_Output.pdf"));
                        iText_xls_2_pdf.open();
                        //we have two columns in the Excel sheet, so we create a PDF table with two columns
                        //Note: There are ways to make this dynamic in nature, if you want to.
                        PdfPTable my_table = new PdfPTable(2);
                        //We will use the object below to dynamically add new data to the table
                        PdfPCell table_cell;
                        //Loop through rows.
                        while(rowIterator.hasNext()) {
                                Row row = rowIterator.next(); 
                                Iterator<Cell> cellIterator = row.cellIterator();
                                        while(cellIterator.hasNext()) {
                                                Cell cell = cellIterator.next(); //Fetch CELL
                                                switch(cell.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(cell.getStringCellValue()));
                                                         //feel free to 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
                }
        }
    

     

    我希望这会帮助你。

     
     转自:https://www.it1352.com/219310.html
  • 相关阅读:
    风云受邀参加CMAX2009技术峰会演讲嘉宾
    银光志—Silverlight 3.0技术详解与最佳实践上架中文亚马逊卓越网和当当网
    Silverlight进度条控件动画源代码
    Silverlight4 Tools下载
    在C#代码中获取Silverlight的初始化initparams参数
    css层的定位position、absolute、relative层叠加的五条叠加法则
    《银光志—Silverlight3.0技术详解与最佳实践》仅上架两周排名互动出版网第三名
    《银光志Silverlight 3.0开发详解与最佳实践》出版电子版——风云编著
    银客帝国招聘Silverlight兼职开发人员
    Silverlight 2使用C#遍历XML(兼容Silverlight3)
  • 原文地址:https://www.cnblogs.com/javalinux/p/15668060.html
Copyright © 2011-2022 走看看