POI html 转成word,之后POI读取生成的word 出现数组越界问题 5C

java.lang.ArrayIndexOutOfBoundsException: 98826
at org.apache.poi.util.LittleEndian.getUShort(LittleEndian.java:327)
at org.apache.poi.hwpf.model.FileInformationBlock.(FileInformationBlock.java:113)
at org.apache.poi.hwpf.HWPFDocumentCore.(HWPFDocumentCore.java:167)
at org.apache.poi.hwpf.HWPFDocument.(HWPFDocument.java:197)
at org.apache.poi.hwpf.HWPFDocument.(HWPFDocument.java:181)
at org.apache.poi.hwpf.HWPFDocument.(HWPFDocument.java:169)

4个回答

贴出你的代码看看呗,光报错不太能看出来吧

没有相关代码不太好判断,不过你可以debug断点调试,多设几个断点,
基本上可以找到有问题的代码行。

html 转成word,之后POI读取生成的word 出现数组越界,具体哪里报出的呢

public class Test {
public static void main(String args[]) throws IOException {
writeWordFile();
File file = new File("E://a.doc");
WordToHtml wordToHtml = new WordToHtml(file);
/*writeWordFile();*/
}

public static boolean writeWordFile() {
    boolean w = false;
    String path = "E:/";
    try {
        if (!"".equals(path)) {
            // 检查目录是否存在
            File fileDir = new File(path);
            if (fileDir.exists()) {
                // 生成临时文件名称
                String fileName = "a.doc";
                File file = new File("D:\\1.html");
                FileInputStream is = new FileInputStream(file);
                InputStreamReader isr = new InputStreamReader(is, "UTF-8");

//将file文件内容转成字符串
BufferedReader bf = new BufferedReader(isr);

                String content = "";
                StringBuilder sb = new StringBuilder();
                while (content != null) {
                    content = bf.readLine();
                    if (content == null) {
                        break;
                    }
                    sb.append(content.trim());
                }
                bf.close();
                content = sb.toString();
                byte b[] = content.getBytes();
                ByteArrayInputStream bais = new ByteArrayInputStream(b);
                POIFSFileSystem poifs = new POIFSFileSystem();
                DirectoryEntry directory = poifs.getRoot();
                DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);
                FileOutputStream ostream = new FileOutputStream(path + fileName);
                poifs.writeFilesystem(ostream);
                poifs.close();
                bais.close();
                ostream.close();
            }
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return w;
}

}


```老哥,你的怎么解决呃,或者有什么其它的方法替代。
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
POI读取word问题
我最近在做一个使用poi读取word内容的一个程序,想问下谁知道咋么获取word中一行的字数?谢谢了,使用的poi版本是poi-3.7
Java POI读取word生成
使用java poi模板生成word文件,方便数据的展示。规范数据在word的排版。
java poi读取word
java poi读取word文档,并获取里面的章节数、页码数和批注内容。源码带注释。
POI读取word
POI读取word是否必须安装office?因为我将程序部署到服务器上的时候发现没装office不行,但是装了office就没事了。rn另我们客户的服务器用的是aix操作系统,所以有没什么解决方法?谢谢。
POI读取word文件
POI读取word文件,存入数据库,代码很简单,主要用于读取word文件里面索要读取的内容,数据库那块一带而过!
POI读取word文件内容
POI读取word文件内容 word格式包括doc,docx两种。
poi读取word
poi 可以读取试卷中的题 然后添加到数据库中么 rnrn读取图片和字已经完成 但是可以读取word中的公式么, 还有我上传文件170K的时候 就出错了 new HWPFDocument(fileInputStream)就出错了 rnrnjava.lang.ArrayIndexOutOfBoundsException: 41932rn org.apache.poi.util.LittleEndian.getShort(LittleEndian.java:45)rn org.apache.poi.hwpf.model.ListLevel.(ListLevel.java:120)rn org.apache.poi.hwpf.model.ListFormatOverrideLevel.(ListFormatOverrideLevel.java:48)rn org.apache.poi.hwpf.model.ListTables.(ListTables.java:91)rn org.apache.poi.hwpf.HWPFDocument.(HWPFDocument.java:236)rn org.apache.poi.hwpf.HWPFDocument.(HWPFDocument.java:131)rn com.fckeji.sqrm.action.QuestionAction.disposalQuestion(QuestionAction.java:266)rn com.fckeji.sqrm.action.QuestionAction.doAdd(QuestionAction.java:457)rn sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)rn sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)rn sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)rn java.lang.reflect.Method.invoke(Method.java:597)rn com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)rn com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)rn com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)rn com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)rn org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)rn com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)rn com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)rn com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:306)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)rn com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.fckeji.sqrm.interceptor.LogInterceptor.intercept(LogInterceptor.java:24)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.fckeji.sqrm.interceptor.RightInterceptor.intercept(RightInterceptor.java:42)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn com.fckeji.sqrm.interceptor.JndiLookupInterceptor.intercept(JndiLookupInterceptor.java:57)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)rn org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)rn org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)rn org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)rn org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)rn org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)rn org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)rn org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)rnrnrn我用的是poi3.7 3.6也是这样rnrn请高手们给出出注意 是换一个第三方jar包还是?
poi读取word代码
poi读取word代码,可以通过此代码实现对word中的文本、图片、表格的读取。
apache POI 读取 Word
apach poi 读取word 文档 jar 包。 博文链接:https://wxinpeng.iteye.com/blog/231881
POI生成word文档
 XWPFDocument doc = new XWPFDocument();// 创建Word文件     XWPFParagraph p = doc.createParagraph();// 新建一个段落     p.setAlignment(ParagraphAlignment.CENTER);// 设置段落的对齐方式     p.setBorderBottom(Borders.DOUBLE...
POI 生成Word文档
POI 生成Word文档
poi读取word及读取word表格
导入包 import java.io.File;import java.io.FileInputStream;import java.io.InputStream; import org.apache.poi.POIXMLDocument;import org.apache.poi.POIXMLTextExtractor;import org.apache.poi.hwpf.HWPFDoc...
poi生成wordpoi生成word
poi生成wordpoi生成wordpoi生成wordpoi生成wordpoi生成wordpoi生成wordpoi生成wordpoi生成wordpoi生成word
poi word
[code=Java]rnimport java.io.*; rnimport org.textmining.text.extraction.WordExtractor;rnimport org.apache.poi.hssf.usermodel.HSSFWorkbook;rnimport org.apache.poi.hssf.usermodel.HSSFSheet;rnimport org.apache.poi.hssf.usermodel.HSSFRow;rnimport org.apache.poi.hssf.usermodel.HSSFCell;rnrnpublic class TestPoi rn public TestPoi() rn rnrn public static void main(String args[]) throws Exception rn FileInputStream in = new FileInputStream ("D:\\a.doc"); rn WordExtractor extractor = new WordExtractor(); rn String str = extractor.extractText(in); rn //System.out.println("the result length is"+str.length()); rn System.out.println(str); rn rn rnrn[/code]rn不知这是什么版本的,总之我下的新版本的poi找不到这个WordExtractor,请问在新版本下怎么读取word
POI读取 word 2003 和 word 2007 的例子
我自己下载过,直接能运行的项目。代码不多,主要是读取文档,并将文档内容以字符串的形式打印到控制台。别的地方都是5分,我觉得太贵了。2分吧。测试类就一个Test,其他两个是我自己在测试的。
poi 读取word以及word中的表格
      读取word2003文本 public String readDoc(File docFile) { String text2003 = null; try { // word 2003: 图片不会被读取 InputStream is = new FileInputStream(docFile); WordExtractor ex = new ...
poi word excel转html
poi word excel转html,支持03 07版word excel,支持直接保存为html文件或者返回html字符串。maven工程,但lib中包含有所需要的jar,方便非maven工程直接copy使用。
poi完美word转html
poi完美word转html,完整操作资料的引用说明
poi word,excel 转换成 html
poi word,excel 转换成 html
poi word转html图片大小
poi word转html时,如何读取word文档中图片的缩放比例
求助,关于poi读取word。
用poi。选择一个word后,读出里面的数据。我想在校对数据后,对错误的数据在原来的word里进行标记,例如涂红什么的,这个可以做到吗?
POI读取Word文档总结
    本文档为个人总结,不作为指导性教程,未提供解决方案. 1 要解决表格,宏,超链接,图片等显示或者乱码问题,不能用类似WordExtractor的包或者试图用一个函数导出文本,没有现成的解决方案,必须用poi包一个段落一个段落的解析并处理一些特殊的格式。 2 现在对带数字或者符号的”项目符号和编号“无法解析和显示,只能显示文本 3 无法显示修订内容,无法判断哪些的新增的修改,最严重的是...
POI 使用word模板生成word文档
功能是根据一个word模板(也就是一个word文档),修改里面的标记然后再导出新的word文档。
用POI根据WORD模板生成WORD
那们有这样的例子发一个谢谢......
poi读取word中的表格
Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API。在网上见到好多通过poi读取excel的文章,读写也很方便,和jxl有的一比。在这里,主要是poi对word中的表格数据读取。 具体见代码 import java.io.File; import java.io.FileInputStream; import jav...
POI遍历文件夹读取word文档
[code="java"]package com; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.LinkedList; ...
poi读取word只读纯文本
poi读取word只读纯文本,通过poi的jar包的辅助,读取word中的纯文本。
apache poi读取word内容
web小程序,通过apache poi读取项目中的word文档,并以流的形式将word内容返回给页面。
poi对excel和word的读取
poi对excel和word的读取,支持2003和2007
Java利用POI读取Word
引入jar包,这里给出Maven仓库的jar包地址信息 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </depende
POI读取word文档内容
/**      * 把附件上传至服务器目录下      *       * @param files      * @param req      * @return      */     @ResponseBody     @RequestMapping(value = "readFile", method = RequestMethod.POST)     public Map<St...
poi 根据模板生成word
资料下载源 http://download.csdn.net/detail/lxlli/6413637#comment 需要注意的是poi jar包的版本要在3.8及以上 附件仅供学习参考
poi可批量生成word
利用模板批量生成word文件,大大方便用户后台处理,节省时间
java利用poi生成word
java利用poi生成word,可直接导入,docx的模板文件也在里面,模板要放在D盘根目录呀
poi生成word文档打印设置
请问一下,怎么实现poi生成word2003或者word2007/2010,rnrn并且支持竖版和横版的设置?rnrn最好举个案例参考一下,谢谢了。。。。
Java POI 生成Word文档
Java POI 生成Word文档,支持图片插入,关键是修改XML部分,本人已测试通过。
poi生成word表格文档
struts2配置 <action name="groupCountDownLoad" class="com.dbs.action.QueryAction" method="groupCountDownLoad"> text/plain attachment;filename="${fileFileName}" downloadFile
POI导出word问题
想利用POI做word导出rnrn尝试了两种办法,rnrn1.利用word模板rn想利用这一个模板导出多条,在word中写入n行这样的记录rn部分代码如下rn[code=java]rnString rangeText = range.text();rnMap map=new HashMap();rnmap.put("title", "老k博客");rnmap.put("blog_name", "老k博客");rnmap.put("description", "是一个专注于wordpress、java...");rnfor (Map.Entry entry:map.entrySet()) rn range.replaceText(entry.getKey(),entry.getValue());rnrn// 写入模板,插入第二条 rnrange.insertAfter("//r"+rangeText);rnfor (Map.Entry entry:map.entrySet()) rn range.replaceText(entry.getKey(),entry.getValue());rnrn[/code]rn但是导出的文件格式有问题是其一,应该是range.text()不能或得到格式,其二是导出的word文件后边有横线rn这个。。。。。。-----------------rnrn第二种方法是尝试将HTML直接导出为word,第一次导出OK,第二次点击会有 这样的乱码导出不成功rnjs是这样写的rn[code=java]rnvar url = "/ExamnationMS/subjectMultipleOperation_export.action?sa="+sa;rndocument.forms[0].target="_blank";rndocument.forms[0].action = url;rndocument.forms[0].submit();rn[/code]rnrn望前辈们指教,不吝提出解决方法和宝贵意见
poi读写word问题
我想向一个word文件中的表格中写入数据,代码片段如下:rn.................................................rnFile file = new File(filename);rnFileInputStream in = new FileInputStream(file); //file是一个word文件,在word文件中包含了一个表格rnPOIFSFileSystem pfs = new POIFSFileSystem(in);rnHWPFDocument hwpf = new HWPFDocument(pfs);rnRange range = hwpf.getRange();rnTableIterator it = new TableIterator(range);rnwhile (it.hasNext()) rnTable tb = (Table) it.next(); rnfor (int i = 0; i < tb.numRows(); i++) rn TableRow tr = tb.getRow(i);rn for (int j = 0; j < tr.numCells(); j++) rn TableCell td = tr.getCell(j);rn String text = "testData";rn int p = td.numParagraphs();rn Paragraph para = td.getParagraph(p);rn para.insertBefore(text);rnrn rn rnrn.....................................................rn问题:数据从第二列开始插入.也就是说table(0,0)是第一行第二列.这是为什么啊!!rn
POI操作word的问题
POI如何获得WORD中的总行数、总页数,作者信息,创建时间等。?? rn我在看API不过,还没有找到相关的方法
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法