导出需要jar包:iText-5.0.6.jar,iTextAsian.jar,iText-rtf-2.1.7.jar,jxl.jar,网上有大把以下都是我以前项目中用过的,现整理下,把自己的数据加进去即可,希望能帮到大家!
导出PDF:
package com.bank.util;
/**
* IText说明
iText 是 Lowagie.com 站点(请参阅 参考资料)免费提供的 Java 库。
iText 库的功能很强大,支持 HTML、RTF 和 XML 文档的生成,此外还能够生成 PDF 文档。
可以从多种字体中选择文档中所使用的字体。
同时,iText 的结构允许使用相同的代码生成以上任意类型的文档。
http://itextpdf.com/官网
http://sourceforge.net/projects/itext/files/源码
* iText API:
com.lowagie.text.Document 是生成 PDF 的主要的类。它是需要使用的第一个类。一旦开始创建文档,将需要一个写入器向文档中写入内容。
com.lowagie.text.pdf.PdfWriter 就是一个 PDF 写入器。下面列出了通常需要使用的类:
com.lowagie.text.Paragraph —— 这个类表示一个缩进的段落。
com.lowagie.text.Chapter —— 这个类表示 PDF 文档中的章节。使用 Paragraph 作为题目并使用 int 作为章节号码来创建它。
com.lowagie.text.Font —— 这个类包含了全部的字体规范,例如字体、大小、样式和颜色。各种字体都在这个类中声明为静态常数。
com.lowagie.text.List —— 这个类表示一个列表,按顺序包含许多 ListItems。
com.lowagie.text.Table —— 这个类表示包含单元格的表,单元格有序地排列在矩阵中。
*/
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;
public class PdfTools {
/**
*
* 生成PDF的方法
*
* @return boolean
*
*/
public static boolean createPDF(String pdfPath) {
Document document = new Document();// 建立一个Document对象
document.setPageSize(PageSize.A4);// 设置页面大小
try {
PdfWriter.getInstance(document, new FileOutputStream(pdfPath));// 建立一个PdfWriter对象
document.open();
BaseFont bfChinese = BaseFont.createFont("STSong-Light",
"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);// 设置中文字体
Font titleFont = new Font(bfChinese, 15, Font.BOLD);// 设置字体大小
Font headFont = new Font(bfChinese, 10, Font.BOLD);// 设置字体大小
Font headFont1 = new Font(bfChinese, 10, Font.BOLD);// 设置字体大小
Font headFont2 = new Font(bfChinese, 10, Font.NORMAL);// 设置字体大小
document.add(new Paragraph("标题",
headFont));
float[] widths = { 140f, 60f, 320f, 120f, 110f, 110f, 190f };// 设置表格的列宽
PdfPTable table = new PdfPTable(widths);// 建立一个pdf表格
table.setSpacingBefore(20f);// 设置表格上面空白宽度
table.setTotalWidth(535);// 设置表格的宽度
table.setLockedWidth(true);// 设置表格的宽度固定
table.getDefaultCell().setBorder(1);//设置表格默认为边框1
PdfPCell cell = new PdfPCell(new Paragraph("Taony125 testPdf 中文字体",
headFont));// 建立一个单元格
// cell.setBorder(0);//设置单元格无边框
// cell.setColspan(7);// 设置合并单元格的列数
table.addCell(cell);// 增加单元格
cell = new PdfPCell(
new Paragraph("Taony125 testPdf 中文字体", headFont));
// cell.setBorder(0);
cell.setFixedHeight(20);
cell.setColspan(7);// 设置合并单元格的列数
cell.setHorizontalAlignment(Element.ALIGN_CENTER);// 设置内容水平居中显示
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
table.addCell(cell);
cell = new PdfPCell(new Paragraph("Taony125 testPdf 中文字体",
headFont1));
// cell.setBorder(0);
cell.setFixedHeight(20);
// cell.setColspan(7);// 设置合并单元格的列数
cell.setHorizontalAlignment(Element.ALIGN_CENTER);// 设置内容水平居中显示
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
table.addCell(cell);
table.addCell(new Paragraph("Taony125 testPdf 中文字体", headFont2));
document.add(table);
} catch (DocumentException de) {
System.err.println(de.getMessage());
return false;
}
catch (IOException ioe) {
System.err.println(ioe.getMessage());
return false;
}
document.close();
return true;
}
/**
*
* @param args
*
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
PdfTools.createPDF("d:/test.pdf");
}
}