使用poi对word进行操作的问题

waitgod 2008-04-30 08:51:08
想通过poi输出一个doc文档
想对word的一些格式进行定制
并且可以插入书签
并可以生成目录

请问各位如何处理???
poi可以实现吗???
...全文
204 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
waitgod 2008-04-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shili150 的回复:]
我没处理过word,但是处理过excel,用的是jxl.jar


也曾经查过poi的资料,功能很强大,对word和ecexl的支持都很好

poi完全可以实现你的要求
[/Quote]
=========================================
好像不可能

现在正准备放弃这个方案

谢谢各位!
tidesoft001 2008-04-30
  • 打赏
  • 举报
回复
不知道
帮你顶了哈
shili150 2008-04-30
  • 打赏
  • 举报
回复
import java.io.*;
import java.util.*;

import org.apache.poi.poifs.filesystem.*;
import org.apache.poi.util.*;
import wfc.service.log.*;
import wfc.service.util.*;

public class WordParser
extends IParser {

/**
* 解析文档, 获得文档正文
* @param content 原始文档内容
* @return 文档正文
*/
public String parseFromContent(String content) {
InputStream stream = new ByteArrayInputStream(content.getBytes());
return parse(stream);
}

/**
* 解析文档, 获得文档正文
* @param filename 文件名称
* @return 文档正文
*/
public String parseFromFile(String filename) {
try {
InputStream stream = new FileInputStream(filename);
return parse(stream);
}
catch (FileNotFoundException ex) {
Log.error(ex);
return null;
}
}

private String parse(InputStream stream) {
try {
POIFSFileSystem fs = new POIFSFileSystem(stream);
DirectoryEntry rootEntry = fs.getRoot();
StringWriter writer = new StringWriter();
recurse(rootEntry, writer);
return new String(writer.getBuffer());
}
catch (IOException ex) {
Log.error(ex);
return null;
}
}

private void recurse(Entry entry, StringWriter writer) throws IOException {
if (entry instanceof DirectoryEntry) {
DirectoryEntry dirEntry = (DirectoryEntry) entry;
for (Iterator iter = dirEntry.getEntries(); iter.hasNext(); ) {
Entry e = (Entry) iter.next();
recurse(e, writer);
}
}
else if (entry instanceof DocumentEntry &&
"WordDocument".equals(entry.getName())) {
DocumentEntry docEntry = (DocumentEntry) entry;
DocumentInputStream dis = new DocumentInputStream(docEntry);
byte[] by = StreamHelper.toByteArray(dis);
writer.write(StringUtil.getFromUnicodeHigh(by));
}
}

}
shili150 2008-04-30
  • 打赏
  • 举报
回复
我没处理过word,但是处理过excel,用的是jxl.jar


也曾经查过poi的资料,功能很强大,对word和ecexl的支持都很好

poi完全可以实现你的要求
milo-higgs 2008-04-30
  • 打赏
  • 举报
回复
应该是可以的,你看看这篇文章:
http://blog.csdn.net/wzwfly/archive/2007/06/09/1645046.aspx

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧