会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
MONICA
Where is a will,there is a way
博客园
首页
新随笔
联系
管理
订阅
POI往Word中插入字符串--我的实践
代码
package
lili.com;
import
java.io.ByteArrayInputStream;
import
java.io.File;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
import
java.io.OutputStream;
import
org.apache.poi.hwpf.HWPFDocument;
import
org.apache.poi.hwpf.extractor.WordExtractor;
import
org.apache.poi.hwpf.model.StyleSheet;
import
org.apache.poi.hwpf.usermodel.CharacterProperties;
import
org.apache.poi.hwpf.usermodel.CharacterRun;
import
org.apache.poi.hwpf.usermodel.Paragraph;
import
org.apache.poi.hwpf.usermodel.Range;
import
org.apache.poi.hwpf.usermodel.Table;
import
org.apache.poi.hwpf.usermodel.TableCell;
import
org.apache.poi.hwpf.usermodel.TableIterator;
import
org.apache.poi.hwpf.usermodel.TableRow;
import
org.apache.poi.poifs.filesystem.DirectoryEntry;
import
org.apache.poi.poifs.filesystem.DocumentEntry;
import
org.apache.poi.poifs.filesystem.POIFSFileSystem;
public
class
POITest
{
/** */
/**
*
@param
args
*
@throws
Exception
*/
public
static
void
main(String[] args)
throws
Exception
{
//
TODO Auto-generated method stub
try
{
FileInputStream in
=
new
FileInputStream(
new
File(
"
E:\\demo1.doc
"
));
POIFSFileSystem pfs
=
new
POIFSFileSystem(in);
HWPFDocument hwpf
=
new
HWPFDocument(pfs);
Range range
=
hwpf.getRange();
StyleSheet styleSheet
=
hwpf.getStyleSheet();
TableIterator it
=
new
TableIterator(range);
//
遍历一个DOC中的所有表格
while
(it.hasNext())
{
Table tb
=
(Table) it.next();
System.out.println(tb.numRows());
//
遍历表格的行
//
for (int i = 0; i < tb.numRows(); i++) {
//
TableRow tr = tb.getRow(i);
//
//
遍历表格的列
//
System.out.println(tr.numCells());
//
for (int j = 0; j < tr.numCells(); j++) {
//
//
往表格中插入数据
//
TableCell td = tr.getCell(j);
//
//
CharacterRun chr1= td.getCharacterRun(0);
//
//
System.out.println("td--"+chr1.getFontName());
//
//
String text = "第" + i + "行第" + j + "列";
//
//
int p = td.numParagraphs();
//
System.out.println("td.numParagraphs :"+p);
//
for(int a=0;a<p;a++)
//
{
//
Paragraph para =td.getParagraph(a);
//
para.insertBefore(text+" ");
//
//
/ para.insertAfter(text);
//
int q=para.numCharacterRuns();
//
System.out.println("numCharacterRuns--"+q);
//
for(int b=0;b<q;b++)
//
{
//
CharacterRun chr= para.getCharacterRun(b);
//
//
System.out.println("para.getCharacterRun-- "+ chr.getFontName()+" text--"+chr.text().trim()+" str--"+chr.toString());
//
//
//
ParagraphProperties pp = new ParagraphProperties();
//
//
//
if(j%2==0){
//
//
//
}
//
}
//
}
//
}
//
}
}
//
WordExtractor we=new WordExtractor(in);
String text
=
range.text();
System.out.println(text);
//
在表格外面插入内容
CharacterProperties cp
=
new
CharacterProperties();
cp.setBold(
true
);
cp.setCharacterSpacing(
10
);
cp.setChse(cp.SPRM_CHARSCALE);
cp.setCapitalized(
true
);
int
p
=
range.numParagraphs();
for
(
int
i
=
0
;i
<
p;i
++
)
{
String name
=
"
飞舞
"
;
String age
=
"
23
"
;
Paragraph para
=
range.getParagraph(i);
//
System.out.println(p);
//
para.insertAfter("--插入 成功!!",cp);
para.replaceText(
"
姓名:————————————
"
,
"
姓名:
"
+
name);
para.replaceText(
"
年龄:————————————
"
,
"
年龄:
"
+
age);
CharacterRun chr
=
para.getCharacterRun(
0
);
System.out.println(
"
第
"
+
i
+
"
段:
"
+
chr.text());
}
System.out.println(
"
\n插入后 生成新文档demo1-----------------------------------------\n
"
);
text
=
range.text();
System.out.println(text);
//
File outputFile = new File("C:/456.doc");
//
OutputStream output = new FileOutputStream(outputFile);
//
hwpf.write(output);
//
output.close();
//
//
byte b[] = content.getBytes("ISO-8859-1");
//
String content="这是固定的字符2";
byte
b[]
=
text.getBytes();
ByteArrayInputStream bais
=
new
ByteArrayInputStream(b);
POIFSFileSystem fs
=
new
POIFSFileSystem();
DirectoryEntry directory
=
fs.getRoot();
DocumentEntry de
=
directory.createDocument(
"
WordDocument
"
, bais);
FileOutputStream ostream
=
new
FileOutputStream(
"
e:/demo.doc
"
);
fs.writeFilesystem(ostream);
bais.close();
ostream.close();
}
catch
(Exception ex)
{
ex.printStackTrace();
}
}
}
posted @
2009-11-17 16:08
洛可可
阅读(
2504
) 评论(
1
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告