精华内容
下载资源
问答
  • word有无法读取的内容
    2021-03-22 12:21:48

    POI读取word内容的疑问

    两片内容相同的word,poi分割成XWPFRun集合的时候,发现相同的段落内容有空行。

    word1打印的段落内容

    word2打印的段落内容

    代码如下

    /**

    替换段落中的内容

    @param paragraphList 段落集合

    @param param 要替换的内容map集合

    @param doc CustomXWPFDocument对象

    */

    public static void processParagraphs(List paragraphList,Map param,CustomXWPFDocument doc){

    if(paragraphList != null && paragraphList.size() > 0){

    for(XWPFParagraph paragraph:paragraphList){

    List runs = paragraph.getRuns(); //段落集合

    for (XWPFRun run : runs) {

    String text = run.getText(0); //段落内容

    System.out.println("text---->"+text);

    if(text != null){

    boolean isSetText = false;

    for (Entry entry : param.entrySet()) {

    String key = entry.getKey();

    if(text.indexOf(key) != -1){

    isSetText = true;

    Object value = entry.getValue();

    if (value instanceof String) {//文本替换

    text = text.replace(key, value.toString());

    break;

    }

    }

    }

    if(isSetText){

    run.setText(text,0);

    }

    }

    }

    }

    }

    }

    造成两次段落内容分割不同的情况我大致知道,word2每一行纯手打,word1复制过来的。但是有时候纯手打也会出现一个替换字符分行,或者多个替换字符在一行的情况。例如${AAA}${BBB} 被解析成了一个段落。

    求大神,这个问题困惑了很久。

    相关阅读:

    DB中关联查询和分别单独查询的优先级?

    有用过dropzonejs拖拽上传文件的吗?php如何拿到它的值。

    shell输出中不同颜色的含义?

    SMTP邮件发送问题

    android 获取 短信会话ID 失败

    android关于Intent的一个问题

    IE10报如此错误如何解决?

    第三方组件引用类库与项目引用类库不一致

    有使用过Java关键字strictfp的经验么?

    Spring框架下面各个部分是怎么样一种关系,他们都有那些职责?

    HTML5页面生成器

    IOS手势监听只能监听到第一次。

    如何解决阻止正在执行的js?

    多部分水纹波动效果的实现

    有没有山东烟台可以做网站的小伙伴,求一起做个东西。

    Xml节点内容正则表达式替换

    iOS10相机权限设置了之后用户点击不允许crash

    Mac OS X 下PHP无法显示错误信息

    redis延迟问题

    Linux新安装python后出现的按键映射错误问题(SecureCRT环境)

    更多相关内容
  • c#用aspose.word读取word文件内容,并显示图片 c#用aspose.word读取word文件内容,并显示图片
  • 本文实例讲述了JS实现获取word文档内容并输出显示到html页面。分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title<...
  • VC 读取Word文档内容

    2018-06-27 21:26:36
    通过VC或者mfc打开word文档,并读取文档中的内容。。。。。
  • 主要介绍了Java获取word文档的条目化内容的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
  • labview读取word内容

    2018-01-15 15:45:09
    自己写的程序,读取word文字内容。同时希望能有读取word中表格的软件
  • Java读取Word表格内容

    2018-06-09 22:07:28
    通过Java读取word表格中的内容,将内容存到数据库中,将Word中的图片存到硬盘中
  • 使用poi将word读取后替换指定内容后再次生成新word,本人经过测试,拿来即用!
  • excel通过vba 批量读取word内表格的内容并写入excel
  • 使用php语言操作 word ,包括:word 基本的属性设置,word文档读取、修改、图片、表格操作。
  • 项目通过java接口来下载文件,发现下载office文件时,打开都不正常,比如下载office文件打开会报“word在 XX.docx发现无法读取内容。是否恢复此文档的内容”。但如果通过nginx映射来下载,可以正常打开。 解决...

    问题描述:

    项目通过java接口来下载文件,发现下载office文件时,打开都不正常,比如下载office文件打开会报“word在 XX.docx 发现无法读取的内容。是否恢复此文档的内容”。但如果通过nginx映射来下载,可以正常打开。

    解决方法:

    研究后发现,是因为没有设置Content-Type,其实每种office文件都有对应的Content-Type。可参考:https://www.jianshu.com/p/4b09c260f9b2?from=groupmessage

    修改后的代码如下:

        private final static Map<String, String> CONTENT_TYPE_MAP = new HashMap<>();
    
        static {
            CONTENT_TYPE_MAP.put("doc", "application/msword");
            CONTENT_TYPE_MAP.put("dot", "application/msword");
            CONTENT_TYPE_MAP.put("docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
            CONTENT_TYPE_MAP.put("dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template");
            CONTENT_TYPE_MAP.put("docm", "application/vnd.ms-word.document.macroEnabled.12");
            CONTENT_TYPE_MAP.put("dotm", "application/vnd.ms-word.template.macroEnabled.12");
            CONTENT_TYPE_MAP.put("xls", "application/vnd.ms-excel");
            CONTENT_TYPE_MAP.put("xlt", "application/vnd.ms-excel");
            CONTENT_TYPE_MAP.put("xla", "application/vnd.ms-excel");
            CONTENT_TYPE_MAP.put("xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            CONTENT_TYPE_MAP.put("xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template");
            CONTENT_TYPE_MAP.put("xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12");
            CONTENT_TYPE_MAP.put("xltm", "application/vnd.ms-excel.template.macroEnabled.12");
            CONTENT_TYPE_MAP.put("xlam", "application/vnd.ms-excel.addin.macroEnabled.12");
            CONTENT_TYPE_MAP.put("xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12");
            CONTENT_TYPE_MAP.put("ppt", "application/vnd.ms-powerpoint");
            CONTENT_TYPE_MAP.put("pot", "application/vnd.ms-powerpoint");
            CONTENT_TYPE_MAP.put("pps", "application/vnd.ms-powerpoint");
            CONTENT_TYPE_MAP.put("ppa", "application/vnd.ms-powerpoint");
            CONTENT_TYPE_MAP.put("pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation");
            CONTENT_TYPE_MAP.put("potx", "application/vnd.openxmlformats-officedocument.presentationml.template");
            CONTENT_TYPE_MAP.put("ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow");
            CONTENT_TYPE_MAP.put("ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12");
            CONTENT_TYPE_MAP.put("pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12");
            CONTENT_TYPE_MAP.put("potm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12");
            CONTENT_TYPE_MAP.put("ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12");
        }
    
    
        
        @ApiOperation(value = "文件下载接口", httpMethod = "GET", notes = "文件下载接口")
        @RequestMapping("/downloadFiles/{md5}.{format}")
        @ResponseBody
        public AjaxResult downloadFiles(HttpServletResponse response,
            @PathVariable String md5, @PathVariable String format){
            File file = new File(this.getFilePath()+md5+".data");
            if(!file.exists()) {
                return getResult(1, "文件不存在");
            }
            try(
                FileInputStream fileInput = new FileInputStream(file);
                BufferedInputStream bufferedInput = new BufferedInputStream(fileInput);
            ) {
                response.setHeader("Accept-Ranges", "bytes");
                response.setHeader("Content-Length", file.length()+"");
                response.setHeader("Content-Type", CONTENT_TYPE_MAP.get(format));
                response.setDateHeader("Last-Modified", file.lastModified());
                response.setCharacterEncoding(null); // 设置为null,否则Content-Type会带上charset=UTF-8
                byte[] buffer = new byte[1024];
                OutputStream os = response.getOutputStream();
                int len = 0;
                while ((len = bufferedInput.read(buffer)) > 0) {
                    os.write(buffer, 0, len);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return getResult(0, null);
        }

     

    展开全文
  • java poi读取word内容

    千次阅读 2022-04-14 19:13:38
    1.读取word所有内容(非表格) public static String readDoc(String path) { String resullt = ""; //首先判断文件中的是doc/docx try { if (path.endsWith(".doc")) { InputStream is = new ...

    1.添加jar包

    
        <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi</artifactId>
          <version>4.1.0</version>
        </dependency>
    
        <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi-ooxml</artifactId>
          <version>4.1.0</version>
        </dependency>
    
          <dependency>
              <groupId>org.apache.poi</groupId>
              <artifactId>poi-ooxml-schemas</artifactId>
              <version>4.1.0</version>
          </dependency>
          <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-scratchpad -->
          <dependency>
              <groupId>org.apache.poi</groupId>
              <artifactId>poi-scratchpad</artifactId>
              <version>4.1.0</version>
          </dependency>
    

    2.读取所有内容(非表格)

    public static String readDoc(String path) {
    	String resullt = "";
    	//首先判断文件中的是doc/docx
    	try {
    	   if (path.endsWith(".doc")) {
    	       InputStream is = new FileInputStream(new File(path));
    	       WordExtractor extractor = new WordExtractor(is);
    	       resullt = extractor.getText();
    	
    	       //输出word文档所有的文本
    	       System.out.println(extractor.getText());
    	       System.out.println("=================1=================");
    	       System.out.println("==================2================");
    	//                //输出页脚的内容
    	       System.out.println("页脚:" + extractor.getDocument());
    	//                System.out.println("===============4===================");
    	//                //输出当前word文档的元数据信息,包括作者、文档的修改时间等。
    	       System.out.println(extractor.getMetadataTextExtractor().getText());
    	       System.out.println("===============5===================");
    	       //获取各个段落的文本
    	       String paraTexts[] = extractor.getParagraphText();
    	       for (int i=0; i<paraTexts.length; i++) {
    	           System.out.println("Paragraph " + (i+1) + " : " + paraTexts[i]);
    	       }
    	       //输出当前word的一些信息
    	       System.out.println(extractor.getTextFromPieces());
    	       System.out.println("=============6=====================");
    	       //输出当前word的一些信息
    	       System.out.println(extractor.getMetadataTextExtractor());
    	       System.out.println("===============7===================");
    	       System.out.println(extractor.getEndnoteText());
    	       System.out.println("===============8===================");
    	
    	
    	
    	       extractor.close();
    	   } else if (path.endsWith(".docx")) {
    	       OPCPackage opcPackage = POIXMLDocument.openPackage(path);
    	       POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
    	       resullt = extractor.getText();
    	
    	       extractor.close();
    	   } else {
    	       System.out.println("此文件不是word文件");
    	   }
    	} catch(Exception e){
    	   e.printStackTrace();
    	}
    	return resullt;
    }
    

    3.读取表格内容

    以下代码包含读取段落内容、表格内容

    
        public static void readTableData(String path){
            try {
                InputStream is = new FileInputStream(path);
                XWPFDocument doc = new XWPFDocument(is);
                List<XWPFParagraph> paras = doc.getParagraphs();
                for (XWPFParagraph para : paras) {
                    //当前段落的属性
                    //CTPPr pr = para.getCTP().getPPr();
                    System.out.println(para.getText());
                }
    
                //获取文档中所有的表格
                List<XWPFTable> tables = doc.getTables();
                List<XWPFTableRow> rows;
                List<XWPFTableCell> cells;
                for (XWPFTable table : tables) {
                    //表格属性
                    //CTTblPr pr = table.getCTTbl().getTblPr();
    
                    //获取表格对应的行
                    rows = table.getRows();
                    for (XWPFTableRow row : rows) {
                        //获取行对应的单元格
                        cells = row.getTableCells();
                        for (XWPFTableCell cell : cells) {
                            System.out.println(cell.getText());
                        }
                    }
                }
                is.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    

    参考文章:java poi word 表格_java 使用POI 读写word 表格 https://blog.csdn.net/weixin_33045961/article/details/114433011

    展开全文
  • 使用NOPI读取Excel的例子很多,读取Word的例子不多。 Excel的解析方式多中,可以使用ODBC查询,把Excel作为一个数据集对待。也可以使用文档结构模型的方式进行解析,即解析Workbook(工作簿)、Sheet、Row、Column...
  • java读取不同版本文档的内容以及字体大小,实现对文档格式进行匹配!
  • 读取word内容写入excel

    2018-08-15 12:08:17
    python脚本,实现从word读取数据块,写入到excel表格中
  • OpenXml读取word内容注意事项 1、使用OpenXml读取word内容word后缀必须是”.docx”;如果word后缀是”.doc”需要转成”.docx”后,才可以读取; 2、需要引入相关dll;”WindowsBase.dll”、“DocumentFormat....
  • 主要介绍了Python读取word文本操作详解,介绍了涉及到的模块,相关概念,模块的安装等内容,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
  • PHP怎么读取WORD文档传就传吧,后台传什么文件都可以,原样保留在文件夹下面就行了,天台的直接指向它,只要前台安装了相应的程序就能打开,例如指向一个WORD的代码可以是:你可能觉得这样很不好,前台会弹出WORD...

    cbd58995d210ed2be840a8409f501fa5.png

    PHP怎么读取WORD文档

    传就传吧,后台传什么文件都可以,原样保留在文件夹下面就行了,天台的直接指向它,只要前台安装了相应的程序就能打开,例如指向一个WORD的代码可以是:你可能觉得这样很不好,前台会弹出WORD窗口打开文件。

    但是没有别的完美的办法,因为把WORD转换为HTML都会丢失重要信息的:文件内部链接会丢失、文件打印格式会丢失、文件显示格式也不完全支持,甚至会变得很难看。

    一句话,你的后台最好不要对WORD文件进行处理,尽管有方法(就是使用DCOM调用WORD打开文件,然后另存为网页格式)

    php 怎么实现读取word文档内容,显示到html上面?能给个案例最好...

    //将文档中需要换的变量更换一下 $test=str_replace("";$word-> // 关闭与COM组件之间的连接 OPen("d:\a;br>);$test"); // 显示目前正在使用的Word的版本号 //echo "//读取文档内容 $test= $word->$word-&gt.application") or die(" echo " //打?一个文档 br&gt:/myweb/comtest.doc"这是变量" $word->Documents->Add(); // 在新文档中添加文字 $word->Selection->TypeText("Version}SaveAs(" $word->" echo $test;Can'Loading Word, v;Visible = 0;// to open the application in the forefront;//把文档保存在目录中 &nbsp.doc"); ActiveDocument->content->Text;,$test)," //$word->"t start Word!"); echo $test, use 1 (true) Documents->// 把它的可见性设置为0(假),如果要使它在最前端打开,使用1(真) &nbsp如果在win可以用com组件读取: // 建立一个指向新COM组件的索引 $word = new COM("word;Quit(); &nbsp ...

    PHP 如何实现读取一个word文档内容并显示在网页的文本域中?

    // 建立一个指向新COM组件的索引 $word = new COM("word.application") or die("Can't start Word!"); $word->Visible = 1; #打开一个新文档 $word->Documents->Add(); #写 $word->Selection->TypeText("This is my a test....."); #存 $word->Documents[1]->SaveAs("D:/tanfanlin.doc"); //打开文档$word->Documents->OPen("D:/tanfanlin.doc");echo $word->ActiveDocument->content->Text;//关闭 word$word->Quit();?>table 需要转换输出

    展开全文
  • NETCORE webapi 读取word模板修改内容并生成pdf下载,服务器端无需安装office 简单小例子
  • aspose.word 解析word读取及word转pdf、转html;附带文件;需要的下载
  • Java读取Word文档中指定位置(可以自己自定义位置)的表格数据或文本内容 * @param filePath 文档路径 * @param start 指定位置开始读取表格数据的该位置上的字符串 * @param end 指定位置开始结束读取表格数据的该...
  • 读取Word文档
  • Java POI读取word生成

    2019-04-24 16:13:22
    使用java poi模板生成word文件,方便数据的展示。规范数据在word的排版。
  • POI读取word文档的文字内容和图片内容

    千次下载 热门讨论 2014-09-04 13:55:55
    POI读取word文档的文字内容和图片内容
  • .docx的文档损坏打不开,使用各种百度到的修复办法/修复工具/在线修复网页都无法解决。 尝试修改后缀/转换格式/使用wps打开再另存为,失败。 解决方法 经过查找资料,docx/doc文件的本质,是一个装了很多.xml文件...
  • 本篇继续python操作word之旅:利用python来获取word文档的内容
  • POI无法读取word每一段所在的页码。我给出了代码和所有的解释,用POI读取word中的页码。也算是小方法了,基本很准确,为什么要加一个基本呢?因为,分页标志符号在第一行为空白行的时候没有分页符!!所以你的文档...
  • C# NPOI Word 读取

    2018-10-26 19:07:45
    基于VS2010 NPOI Word .docx 文件读取,按段落输出,亲测可用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 405,000
精华内容 162,000
关键字:

word有无法读取的内容