考虑到软件协议(AGPL,GPL)问题,避免可能产生的纠纷,建议itext的相关jar包(如:com.lowagie.text等)用2.1.7及以前的。
----------------------
首先导入需要的jar包(如:com.lowagie.text_2.1.7.v201004222200.jar,iTextAsian.jar,jxl.jar(Excel相关)),并在Eclipse下设置依赖。
----
生成DOC:
Document document = new Document(PageSize.A4);
RtfWriter2.getInstance(document, new FileOutputStream(filePath));
document.open();
setDataToDocument(document ,filePath);
生成PDF:
Document document = new Document(PageSize.A4, 50, 50, 50, 50);
PdfWriter.getInstance(document, new FileOutputStream(filePath));
document.open();
setDataToDocument(document ,filePath);
---
//下面只是对API中的部分类做了事例性说明,如果想得到其Document更详细的操作,去官网查阅相关的API文档
setDataToDocument(xx,xx){//其实DOC,PDF 相似
// 章节头
Font font_19 = new Font(Font.BOLD, 19, Font.BOLD);
Paragraph titleParagraph = new Paragraph("Chip Configuration ", font_19);//段落
Chapter docChapter = new Chapter(titleParagraph, 1);
docChapter.setNumberDepth(0);
// 小节一
Font font_16 = new Font(Font.BOLD, 16, Font.BOLD);
Paragraph titleParagraph = new Paragraph("xxxx", font_16);
Section section = docChapter.addSection(titleParagraph);
Paragraph contentP = new Paragraph("xxx");
section.add(contentP );
section.add(xxx);
// 小节二
Paragraph descParagraph = new Paragraph("xxxx", font_16);
Section descSection = docChapter.addSection(descParagraph);
descSection.add(contentP);
Table table = xxxx;
descSection.add(table);
document.add(section);// 添加两个小节
document.add(descSection);
document.close();
}
---------
生成:Excel (用jxl.jar的情况)
其中部分关键API操作类及方法:
WritableWorkbook book = Workbook.createWorkbook(new File(filePath));//给一个文件路径,创建一个Excel文件
WritableSheet sheet = book.createSheet("xxxxx", 0);//设置第一个sheet页
// 设置冻结单元格
sheet.getSettings().setVerticalFreeze(1);
sheet.getSettings().setHorizontalFreeze(size+1);
//设置列/行宽
sheet.setColumnView(columnIndex, 100);
sheet.setRowView(rowIndex, value);
//设置字体
WritableFont font10bold = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD);
WritableCellFormat format= new WritableCellFormat(font10bold);//设置单元格格式
format.setAlignment(jxl.format.Alignment.CENTRE);//水平居中
format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); //垂直居中
format.setBorder(jxl.format.Border.BOTTOM, jxl.format.BorderLineStyle.THICK, Colour.BLACK);//设置border样式
//添加单元格
Label label = new Label(0, 0, "xxx", format);//添加单元格,参数依次为:列,行,值,格式
sheet.addCell(label);
//合并单元格
sheet.mergeCells(startColumn, startRow,endColumn,endRow);//合并单元格,参数列表依次为:合并的开始行、列、合并的终点行、列
// -----------------------
// 写入数据并关闭文件
book.write();
book.close();
----------------------------------
=================================================================
关于本文下面的附件,这里说明一下:
1.com.lowagie.txt.2.1.7 ----itext的核心jar包
2.iText-2.1.7.jar ----itext的完整的jar包
3.iTextAsian.jar ----itext的语言jar包(支持中文)
4.itext-rtf-2.1.7.jar ----itext的Word文档的扩展jar包
5.jd-gui.exe是一款绿色的非常好用的反编译软件,也随便放到这里了,下载后去掉.jar后缀就可以用了。