700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java itext word_Java使用iText生成word文件的解决方案 | 学步园

java itext word_Java使用iText生成word文件的解决方案 | 学步园

时间:2023-11-24 14:40:17

相关推荐

java itext word_Java使用iText生成word文件的解决方案 | 学步园

转自【/post/450.html】

JAVA生成WORD文件的方法目前有以下种:

一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案

一种是pio但是他的excel处理很程序 word模块还局限于读取word的文本内容,写word文件就更弱项了

本文介绍的是itext生成rtf文件并保存格式为word

此方案本人已实践过 并已在项目中使用

用到的jar包:

iText-2.1.5.jar

iText-rtf-2.1.4.jar

iTextAsian.jar

package com.rye.test;

import java.awt.Color;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import com.lowagie.text.Cell;

import com.lowagie.text.Document;

import com.lowagie.text.DocumentException;

import com.lowagie.text.Font;

import com.lowagie.text.PageSize;

import com.lowagie.text.Paragraph;

import com.lowagie.text.Table;

import com.lowagie.text.rtf.RtfWriter2;

/**

* 创建word文档 步骤:

* 1,建立文档

* 2,创建一个书写器

* 3,打开文档

* 4,向文档中写入数据

* 5,关闭文档

*/

public class WordDemo {

public WordDemo() {

}

/**

* @param args

*/

public static void main(String[] args) {

// 创建word文档,并设置纸张的大小

Document document = new Document(PageSize.A4);

try {

RtfWriter2.getInstance(document,

new FileOutputStream("E:/word.doc"));

document.open();

//设置合同头

Paragraph ph = new Paragraph();

Font f = new Font();

Paragraph p = new Paragraph("出口合同",

new Font(Font.NORMAL, 18, Font.BOLDITALIC, new Color(0, 0, 0)) );

p.setAlignment(1);

document.add(p);

ph.setFont(f);

// 设置中文字体

// BaseFont bfFont =

// BaseFont.createFont("STSongStd-Light",

"UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);

// Font chinaFont = new Font();

/*

* 创建有三列的表格

*/

Table table = new Table(4);

document.add(new Paragraph("生成表格"));

table.setBorderWidth(1);

table.setBorderColor(Color.BLACK);

table.setPadding(0);

table.setSpacing(0);

/*

* 添加表头的元素

*/

Cell cell = new Cell("表头");//单元格

cell.setHeader(true);

cell.setColspan(3);//设置表格为三列

cell.setRowspan(3);//设置表格为三行

table.addCell(cell);

table.endHeaders();// 表头结束

// 表格的主体

cell = new Cell("Example cell 2");

cell.setRowspan(2);//当前单元格占两行,纵向跨度

table.addCell(cell);

table.addCell("1,1");

table.addCell("1,2");

table.addCell("1,3");

table.addCell("1,4");

table.addCell("1,5");

table.addCell(new Paragraph("用java生成的表格1"));

table.addCell(new Paragraph("用java生成的表格2"));

table.addCell(new Paragraph("用java生成的表格3"));

table.addCell(new Paragraph("用java生成的表格4"));

document.add(new Paragraph("用java生成word文件"));

document.add(table);

document.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (DocumentException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。