社区
Web 开发
帖子详情
请问各位大师:怎样用Java、POI技术来读取Word文档,并把Word文档的原来格式完整地显示在页面上?谢谢,在线恭候。
andy20020202
2009-06-03 09:24:47
请问各位大师:怎样用Java、POI技术来读取Word文档,并把Word文档的原来格式完整地显示在页面上?谢谢,在线恭候。
...全文
970
14
打赏
收藏
请问各位大师:怎样用Java、POI技术来读取Word文档,并把Word文档的原来格式完整地显示在页面上?谢谢,在线恭候。
请问各位大师:怎样用Java、POI技术来读取Word文档,并把Word文档的原来格式完整地显示在页面上?谢谢,在线恭候。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
F1226759
2012-10-27
打赏
举报
回复
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.ObjectInputStream.GetField;
import org.apache.poi.hpbf.model.MainContents;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.model.PicturesTable;
import org.apache.poi.hwpf.usermodel.CharacterRun;
import org.apache.poi.hwpf.usermodel.Range;
/**
*
* @author 张廷 下午
*
*/
public class WordToHtml {
/**
* 回车符ASCII码
*/
private static final short ENTER_ASCII = 13;
/**
* 空格符ASCII码
*/
private static final short SPACE_ASCII = 32;
/**
* 水平制表符ASCII码
*/
private static final short TABULATION_ASCII = 9;
private String htmlText = "";
/**
* 读取每个文字样式
*
* @param fileName
* @throws Exception
*/
public void getWordAndStyle(String fileName) throws Exception {
FileInputStream in = new FileInputStream(new File(fileName));
HWPFDocument doc = new HWPFDocument(in);
// 取得文档中字符的总数
int length = doc.characterLength();
// 创建图片容器
PicturesTable pTable = doc.getPicturesTable();
htmlText = "<html><head><title>" + doc.getSummaryInformation().getTitle() + "</title></head><body>";
// 创建临时字符串,好加以判断一串字符是否存在相同格式
String tempString = "";
for (int i = 0; i < length - 1; i++) {
// 整篇文章的字符通过一个个字符的来判断,range为得到文档的范围
Range range = new Range(i, i + 1, doc);
CharacterRun cr = range.getCharacterRun(0);
if (pTable.hasPicture(cr)) {
// 读写图片
this.readPicture(pTable, cr);
this.readPicture(pTable, cr);
} else {
Range range2 = new Range(i + 1, i + 2, doc);
// 第二个字符
CharacterRun cr2 = range2.getCharacterRun(0);
// 当前字符
char currentChar = cr.text().charAt(0);
// 判断是否为回车符
if (currentChar == ENTER_ASCII)
tempString += "<br/>";
// 判断是否为空格符
else if (currentChar == SPACE_ASCII)
tempString += " ";
// 判断是否为水平制表符
else if (currentChar == TABULATION_ASCII)
tempString += " ";
// 比较前后2个字符是否具有相同的格式
boolean flag = compareCharStyle(cr, cr2);
String fontStyle = "<span style='font-family:" + cr.getFontName() + ";font-size:" + cr.getFontSize() / 2 + "pt;";
if (cr.isBold())
fontStyle += "font-weight:bold;";
if (cr.isItalic())
fontStyle += "font-style:italic;";
if (flag && i != length - 2)
tempString += currentChar;
else if (!flag) {
htmlText += fontStyle + "'>" + tempString + currentChar + "</span>";
tempString = "";
} else
htmlText += fontStyle + "'>" + tempString + currentChar + "</span>";
}
htmlText += "</body></html>";
this.writeFile(htmlText);
}
}
}
cheniqit1
2011-03-09
打赏
举报
回复
POI提供对Word的DOC格式文件的读取。但在它的发行版本中没有发布对Word支持的模块,需要另外下载一个POI的扩展的Jar包。用户可以到 http://www.ibiblio.org/maven2/org/textmining/tm-extractors/0.4/下载
参考地址
http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380143fd3d1027fa3c215cc791a061b2da4ac2755515e8e8061375ff21c41abb665346c523db091cb8c4adfbc94282d8a2d3e7316864010d018aacc4238d565cd1abfa05bbae1e733e3b9a2d7c82550dd220f6df3f39c5b7051972fa6033093b1e942022b13ad9c43728f2f&p=9957da15d9c747b42aa9c7710b0a&user=baidu&fm=sc&query=POI%B6%C1%C8%A1word%B8%F1%CA%BD&qid=e96f367c08587475&p1=4
windwordman
2011-03-09
打赏
举报
回复
经各方面调查确实不能取出WORD格式.要导出WORD只能通过HTML的方式建立WORD文档
tian_xuezhi
2009-09-12
打赏
举报
回复
你去读一下POI官方网站吧。POI并不能深入支持WORD,只能把WORD的基本内容读出来,什么格式之类都没法读取,更不用说表格、图片之类的东西。
因为做这个事情的人已经被微软挖走了。
wulin5050
2009-09-12
打赏
举报
回复
我也想知道
zings
2009-08-11
打赏
举报
回复
我也遇到这个问题 。。。 郁闷。。。怎么能让word中的格式不变的读取出来呢???楼主解决了给个方法啊!!!!我读出来的都没有格式。。。。
andy20020202
2009-06-03
打赏
举报
回复
[Quote=引用 5 楼 JackRui2008 的回复:]
利用POI在导出excel的时候用
response.setContentType("application/vnd.ms-excel");
导出word的时候用
response.setContentType("application/msword");
[/Quote]
[color=#800080]
不过,还是谢谢美女的帮助,难得见到一大美女!!![/
color]
andy20020202
2009-06-03
打赏
举报
回复
这个不行吧,美女,这个好像是下载吧?
JackRui2008
2009-06-03
打赏
举报
回复
利用POI在导出excel的时候用
response.setContentType("application/vnd.ms-excel");
导出word的时候用
response.setContentType("application/msword");
andy20020202
2009-06-03
打赏
举报
回复
这个方法我试过了,但读取出来的仍然只是纯文本格式 的,没有word本身的格式。
sprite26
2009-06-03
打赏
举报
回复
public static String readDoc(String doc) throws Exception {
// 创建输入流读取DOC文件
FileInputStream in = new FileInputStream(new File(doc));
WordExtractor extractor = null;
String text = null;
// 创建WordExtractor
extractor = new WordExtractor();
// 对DOC文件进行提取
text = extractor.extractText(in);
return text;
}
public static void main(String[] args) {
try{
String text = WordReader.readDoc("c:/test.doc");
System.out.println(text);
}catch(Exception e){
e.printStackTrace();
}
}
网上搜了一个,你先看下能用不,俺没试过,http://www.ibiblio.org/maven2/org/textmining/tm-extractors/0.4/还要添加个这个扩展包
andy20020202
2009-06-03
打赏
举报
回复
谢谢关注
可以读取的,继续关注。
sprite26
2009-06-03
打赏
举报
回复
POI无法读取word文档,只能读取excel,JXL好像EXCEL和word都可以读取
andy20020202
2009-06-03
打赏
举报
回复
继续等待高手指点呀/
android打开预览文件
格式
,Android中文档预览功能的实现思路及问题
Andriod中的文档
在线
查看功能,类似于网易邮箱
大师
中的附件预览功能,要求在app内直接打开office文档、pdf文档等。思路一:后台统一转换文档
格式
,安卓端只预览一种
格式
文档。在后台将office(Word、Excle、PPT)文档转换为pdf文档,在安卓端预览的时候,其实是从后台先把pdf文档下载到手机上,再去
读取
。后台:openoffice + jodconverter将office文档...
若依框架下基于FreeMarker的Word模板动态生成与数据批量导入实战
本文详细介绍了在若依框架中,如何利用FreeMarker模板引擎实现
Word文档
的动态生成与数据批量导入。通过设计.ftl模板文件、编写后端下载与解析接口,并结合前端上传功能,构建了一套从模板下载、数据填写到自动解析入库的
完整
自动化解决方案,有效解决了企业级系统中
格式
文档处理的效率难题。
5行代码搞定Excel导入导出!Auto
POI
傻瓜式教程:让新手也能秒变办公自动化
大师
...
Auto
POI
是一款追求极致自动化的办公文档处理工具,正如其名"auto"所暗示的,即使是从未接触过
POI
的新手,也能通过它傻瓜化地快速实现Excel导入导出、Word模板导出等功能。本文将带你快速掌握这个强大工具的使用方法,让数据处理效率飙升! ## ???? 核心功能一览:Auto
POI
能为你做什么? Auto
POI
的核心价值在于**自动化**和**极简操作**,主要功能包括: - **E...
交友会员PHP源码交友会员思维CMSware会员通行证系统(CWPS)v1.6GBK简体中文版(PHP4)Build071203-cwps-1.6-gbk-php4
交友会员PHP源码[交友会员]思维CMSware会员通行证系统(CWPS) v1.6 GBK简体中文版(PHP4) Build071203_cwps_1.6_gbk_php4
电力系统【多目标调度+预测】数据驱动下光伏建筑群源荷不确定性解析及其储能多目标低碳经济调度研究(Python代码实现)
内容概要:本文围绕“数据驱动下光伏建筑群源荷不确定性解析及其储能多目标低碳经济调度研究”展开,提出了一种融合数据驱动方法与多目标优化算法的综合调度框架。研究首先基于历史数据对光伏发电出力与建筑负荷的不确定性进行建模,采用概率预测与场景生成
技术
刻画源荷波动特性,并通过典型场景提取降低输入复杂性。在此基础上,构建了以最小化系统运行成本、降低碳排放强度、提升可再生能源消纳率为目标的多目标优化模型,引入NSGA-II等先进智能优化算法求解Pareto最优前沿,实现经济性与低碳性的协同优化。通过Python编程完成模型搭建与仿真验证,结果表明该方法能有效应对源荷双重不确定性,在保障供电可靠性的前提下,实现了储能系统的优化配置与多目标调度决策的均衡协调; 适合人群:具备一定电力系统基础知识和Python编程能力,从事能源系统优化、智能调度、低碳
技术
等相关领域的研究生、科研人员及工程
技术
人员; 使用场景及目标:①应用于光伏建筑群、工业园区微电网等分布式能源系统的运行调度;②支撑含储能系统的多目标低碳经济调度决策,兼顾能源成本节约与碳排放控制双重目标;③为相关课题的研究与工程实践提供
完整
的算法实现参考与可复现的仿真案例支持; 阅读建议:建议读者结合文中提供的Python代码深入理解模型构建与求解流程,重点关注不确定性建模与多目标优化的耦合机制,可在实际数据基础上复现并改进算法,进一步探索不同权重策略下的调度方案优选方法。
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章