apache poi導出Excel或Pdf文件

package com.infrastructure.project.common.util;

import java.awt.Color;
import java.io.File;
import java.io.FileOutputStream;
import java.util.List;

import com.infrastructure.project.common.SysConstant;
import com.lowagie.text.Cell;
import com.lowagie.text.Document;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Phrase;
import com.lowagie.text.Rectangle;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;

public class ExportPdfUtil {
	public static void exportPdf(String fileName,String filePath,List listLable ,List listData) {
		Document document = new Document(PageSize.A4.rotate(), 50, 50, 50, 50);
		try {
			File file = new File(filePath);
			BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); 
			Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
			Font FontChina = new Font(bfChinese, 24, Font.NORMAL);
			if (!file.exists()) {
				file.mkdirs();
			}
			PdfWriter.getInstance(document, new FileOutputStream(filePath+fileName+SysConstant.nameSuffix.NAMESUFFIX_PDF));
			document.open();
			Table datatable = new Table(listLable.size());
			datatable.setWidth(100);
			datatable.setPadding(3);
			Cell cell = new Cell(new Phrase(fileName,FontChina));
			
			cell.setHorizontalAlignment(Element.ALIGN_CENTER);
			cell.setLeading(30);
			cell.setColspan(listLable.size());
			cell.setBorder(Rectangle.NO_BORDER);
			cell.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
			datatable.addCell(cell);
			datatable.setBorderWidth(2);
			datatable.setAlignment(1);
			for(int i =0;i<listLable.size();i++){
				datatable.addCell(new Paragraph(listLable.get(i).toString(),FontChinese));
			}
			datatable.endHeaders();
			datatable.setBorderWidth(1);
			for (int j = 0; j < listData.size(); j++) {
				List a = (List) listData.get(j);
				for(int o = 0;o<a.size();o++){
					datatable.addCell(new Paragraph(a.get(o) == null ?"":a.get(o).toString(),FontChinese));
				}
			}

			document.add(datatable);
		} catch (Exception e) {
			e.printStackTrace();
		}
		document.close();
	}
}

	    	




package poi.itext;

import java.io.FileOutputStream; import java.io.IOException; import java.awt.Color;

import com.lowagie.text.*; import com.lowagie.text.pdf.*; import com.lowagie.text.pdf.BaseFont;

/**  * 創建Pdf文檔  * @author Administrator  *  */

public class HelloPdf {     public static void main(String[] args)throws Exception     {         BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);         Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);

        // 第一步,創建document對象         Rectangle rectPageSize = new Rectangle(PageSize.A4);                  //下面代碼設置頁面橫置         //rectPageSize = rectPageSize.rotate();                  //創建document對象並指定邊距         Document doc = new Document(rectPageSize,50,50,50,50);         Document document = new Document();         try         {             // 第二步,將Document實例和文件輸出流用PdfWriter類綁定在一起             //從而完成向Document寫,即寫入PDF文檔             PdfWriter.getInstance(document,new FileOutputStream("src/poi/itext/HelloWorld.pdf"));             //第3步,打開文檔             document.open();             //第3步,向文檔添加文字. 文檔由段組成             document.add(new Paragraph("Hello World"));

            Paragraph par = new Paragraph("世界你好",FontChinese);             document.add(par);

            PdfPTable table = new PdfPTable(3);             for(int i=0;i<12;i++)             {                 if (i == 0)                 {                     PdfPCell cell = new PdfPCell();                     cell.setColspan(3);                     cell.setBackgroundColor(new Color(180,180,180));                     cell.addElement(new Paragraph("表格頭" , FontChinese));                     table.addCell(cell);                 }                 else                 {                     PdfPCell cell = new PdfPCell();                     cell.addElement(new Paragraph("表格內容" , FontChinese));                     table.addCell(cell);                 }             }             document.add(table);

        }         catch (DocumentException de)         {             System.err.println(de.getMessage());         }         catch (IOException ioe)         {             System.err.println(ioe.getMessage());         }         //關閉document         document.close();                  System.out.println("生成HelloPdf成功!");      }           }

		
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章