解析Word文档

POI解析word文档 import com.sinitek.sirm.web.plm.funddate.MatchingObject; import org.apache.log4j.Logger; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.model.PicturesTable; import org.apache.poi... 阅读详情

说明:此项目需要导入POI-3.8包,请注意版本必须是3.8的,低版本不行,高版本的没试过。可以解析word2003和2007。
jar包:包括
dom4j-1.6.1.jar
stax-api-1.0.1.jar
xmlbeans-2.3.0.jar,
poi-3.8-20120326.jar
poi-examples-3.8-20120326.jar
poi-excelant-3.8-20120326.jar
poi-ooxml-3.8-20120326.jar
poi-ooxml-schemas-3.8-20120326.jar
poi-scratchpad-3.8-20120326.jar

jar包下载网址:http://download.youkuaiyun.com/detail/wang524506/4849282
网上实例:http://blog.sina.com.cn/s/blog_77618e7b0101af31.html

本例是解析word中的内容和表格里的内容。

public Map readDoc() throws IOException {
        String [] arrContent = null;
        Map map = new HashMap();
        List tableList = new ArrayList();
        int a = 0;
        XWPFDocument document = null;
        try {
             document = new XWPFDocument(POIXMLDocument.openPackage("E:/可及和连贯的患者服务(ACC).docx"));
        } catch (Exception e) {
            // TODO: handle exception可及和连贯的患者服务(ACC).docx
            return null;
        }
        List<XWPFParagraph> list =  document.getParagraphs();
        int size = list.size();
        arrContent   = new String[size];
        for(XWPFParagraph x:list){
            arrContent[a] = x.getText();
            a++;
        }
        map.put("arrContent", arrContent);
//      System.out.println("paragraphList.size="+paragraphList.size());
//      String text =document.getParagraphs().get(1).getText();
        //获取表格部分的内容
        Iterator<?> it = document.getTablesIterator();
        while (it.hasNext()) {
            XWPFTable table = (XWPFTable) it.next();
            int rowcount = table.getNumberOfRows();
            //第一行的列数
            int rowCellsize = table.getRow(0).getTableCells().size();
            int k=0;
            for(int i=0;i<rowcount;i++){
                XWPFTableRow row = table.getRow(i);
//              System.out.println("第"+i+"hang");
                if(table.getRow(i).getTableCells().size()==rowCellsize){
                    String [] arrCells =  new String[rowCellsize];
                    for(int j=0;j<rowCellsize;j++){
                        String s= row.getCell(j).getText();
                        arrCells[j]=s;
                    }
                    tableList.add(k,arrCells);
                    map.put("tableList", tableList);
                    k++;
                }
            }
            return  map;

        }
        return null;
    }

表格部分的内容样式如图:
这里写图片描述

Office文件结构解析 文章目录Office文件Office2007之前的版本Office2007及之后的版本OOXML = OPC + \*MLOPC*MLdocx文件的解析流程 Office文件 之前在项目开发过程中,进行文件类型判断时,发现doc和docx文件的结构是不同的,很是好奇,特来深究一番。 doc和docx、xls和xlsx、ppt和pptx的不同,其原理都是一样的。 doc是Office 2007之前的版本;docx是Office 2007之后的版本。下面详细介绍一下: 参考文档: Office恶意文件解析与混淆 阅读详情

相关推荐

前端玩Word:Word文档解析成浏览器认识的HTML

Word是微软公司开发的一个文字处理器应用程序,它是Office软件中的一个组件。使用Microsoft Office Word可创建和编辑信件、报告、网页或电子邮件中的文本和图形。相比于写字板和记事本功能更强大,性能更全面,可以插入图片、多媒体、艺术效果等。

qq_45472813的博客 4477

POI - 简单读写Excel

官网地址:https://poi.apache.org/ 基本功能: HSSF — 提供读写Microsoft Excel格式文档的功能。(2003版,最多只能存65536行数据) XSSF — 提供读写Microsoft Excel OOXML格式文档的功能。(2007版,可存放的数据无限制) 1. POI - Excel写 1.1 相关依赖: <!-- xls(2003) --> <dependency> <groupId>org.apache.poi&l

luobi1995的博客 690

python解析word_word文档的python解析

主要两块,第一个是文件类型的转换,第二个是用docx包去对word文档中的table进行parse1. 文件格式装换因为很多各种各样的原因,至今还有一些word文档是doc的格式存的,对于这种,如果我们想用python对这个word文档中的内容进行解析的话,理论上必须要处理成docx先。如果你刚好是个mac的用户,那你可以不用弄了,因为如果你用python+osx的系统,这个就是个无解的事情,可以...

weixin_39737317的博客 846

Office Open XML——从底层出发,自定义你的Office组件

Office OpenXML,也称为OpenXML或OOXML,是一种基于XML的办公文档格式,包括Word文档、Excel电子表格、PowerPoint演示文稿以及Chart(图表)、Diagram、Shape(形状)等。

XerCis的博客 2万+

Java poi解析word文档并修改Table

实际背景:解析api.json文件,加载以docx结尾的word模板,并将处理好的数据填写进去。

m0_66607230的博客 2459

Apache POI解析Word文档教程

Apache POI是一个开放源码的Java库,它提供了对Microsoft Office格式文件的读写支持。开发者可以利用POI轻松地创建、修改、增强和读取Microsoft Office格式的文件,如Word、Excel和PowerPoint等。POI项目的历史可以追溯到2001年,随着其不断的完善和更新,Apache POI已经成为了Java编程中处理Microsoft Office文档的事实标准。

weixin_36364707的博客 1319

POI3.6 对word2007解析总结

    刚刚接触XWPF,之前总算对HWPF摸得比较熟了,在POI对word2007摸索的过程中却发现不少问题。网上对POI的有用资料本来也不多,对于XWPF的几乎没有,这里做一点总结: 1 解析word2007需要7个包,poi,poi-scratchpad,poi-ooxml,poi-ooxml-schemas,xmlbeans,dom4j,geronimo-stax-api,缺少的话会运行...

shappy1978的专栏 1230

完整解析Word文档流程与实战教程

在数字时代,文档处理是日常工作的基本组成部分。Microsoft Word,作为业界标准的文档编辑工具,其格式复杂且包含大量元数据。了解Word文档的格式不仅有助于提高工作效率,还能在自动化处理、数据提取和内容管理方面发挥重要作用。Word文档通常以.doc或.docx格式存在,其中.doc是较早的二进制格式,而.docx则是基于XML的压缩格式,易于处理和扩展。了解这些基础知识,将为后续的文档解析工作打下坚实的基础。

weixin_42506884的博客 1846

Python解析Word文档的自动编号

关于自动编号的知识可以参考《在 Open XML WordprocessingML 中使用编号列表》python-docx库并不能直接解析出Word文档的自动编号,因为原理较为复杂,但我们希望python能够读取自动编号对应的文本。为了测试验证,我们创建一个带有编号的文档进行测试,例如:然后我们先看看主文档中,对应的xml存储:

小小明-代码实体的专栏 5804

解析word文档,过程详细,易懂,代码可直接复用.zip

解析word文档,过程详细,易懂,代码可直接复用.zip

DCM、PLL以及DLL等概念及详情

介绍DLL、PLL以及DCM的概念,总结其模块构成、工作原理、相互之间的差异与各自优势。

CLL_caicai的博客 8337

golang 解析word文档

baliance/gooxml gooxml是可以对整个office document提供支持的golang库,功能很强大,这里简单给出对word文档的读取案例安装 go get baliance.com/gooxml/ go build -i baliance.com/gooxml/…package mainimport ( "fmt" "log" "baliance

跑码场 2万+

Win11 C盘爆满别慌!手把手教你安全迁移AppData和用户文件夹(附一键脚本)

本文针对Win11 C盘空间不足问题,提供了一套安全有效的解决方案。通过深入解析用户目录结构,指导用户利用符号链接和Robocopy工具,将AppData、下载文档等占用大户迁移至其他分区,并附带了自动化脚本,从根本上实现C盘瘦身,同时确保系统稳定和数据安全。

weixin_29231221的博客 2084

Java解析word文档

背景 在互联网教育行业,做内容相关的项目经常碰到的一个问题就是如何解析word文档。 因为系统如果无法智能的解析word,那么就只能通过其他方式手动录入word内容,效率低下,而且人工成本和录入出错率都较高。 疑难点 word解析可以预见的困难主要有以下几个方面: word 结构问题 —— word不开源,且含有很多非文本内容,比如图表,而已知的常规方法只能解析纯文本内容,所以如果不知道wor...

weixin_30379911的博客 3584

PCB数据集

整理了一部分PCB数据集

m0_57996537的博客 3867

手把手教你用Python模拟侧信道攻击:从电磁辐射到数据窃取(附防御代码)

本文详细介绍了如何使用Python模拟侧信道攻击,从电磁辐射信号采集到数据窃取的全过程,并提供了实用的防御代码。通过实战案例,帮助安全研究员和开发者理解侧信道攻击原理,掌握信号处理与图像重建技术,同时学习有效的噪声干扰和电磁屏蔽防御措施。

weixin_28716443的博客 161

java如何解析word文档的目录

如何使用Java解析Word文档的目录 在日常工作和学习中,我们经常需要处理Word文档。有时候我们需要从Word文档中提取目录信息,以便更方便地查看文档的结构和内容。本文将介绍如何使用Java解析Word文档的目录,以及提供一个示例来演示如何实现这一功能。 实际问题 在处理Word文档时,有时候我们需要提取文档的目录信息...

weixin_40409685的博客 839

YOLOv11改进策略【独家融合改进】| 模型轻量化二次改进:StarNet + FreqFusion,极限降参,适用专栏内所有轻量化模型

FreqFusion是一种旨在解决密集图像预测任务中特征融合问题。

Limiiiing的博客 2123

java如何解析word大纲_Java POI 解析word文档

实现步骤:1.poi实现word转html2.模型化解析html3.html转Map数组Map数组(数组的操作处理不做说明)1.导jar包。2.代码实现package com.web.onlinexam.util;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java....

weixin_39782782的博客 301

【面试系列】数据工程师高频面试题及详细解答

本文针对数据工程师岗位,提供了详尽的面试题库和解答,分为初级、中级和高级三个层次。初级面试题主要涉及基本的数据处理和ETL工具的使用,如SQL查询、数据清洗和基本的数据建模。中级面试题重点考察数据管道设计、数据库优化和大数据平台的应用。高级面试题则深入探讨高级数据处理技术、分布式系统架构和数据湖的实现。通过这些问题和解答,候选人可以全面了解数据工程师岗位所需的技能,帮助其更好地准备面试。常考知识点总结部分则系统归纳了数据工程师岗位的关键技能领域。

在路上的专栏 2375

SAP ABAP CO核心扩展-ZCKMLQS 多物料工厂的评估数量结构报表(CKMLQS)

CKMLQS 只能查看单一物料工厂的评估数量结构,SAP 没有提供多物料工厂的评估数量结构报表。这篇文章将实现 CO核心扩展-ZCKMLQS 多物料工厂的评估数量结构报表。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 1089

java解析word文档

依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <dependency> &

Ting1king的博客 2002

【Python LeetCode 专题】面试经典 150 题

面试经典 150 题

一杯水果茶!足矣~ 1171

基于Mineru的pdf和word文档解析API

MinerU是一款将PDF转化为机器可读格式的工具(如markdown、json),可以很方便地抽取为任意格式。

Leekinxun的博客 4587

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

php 解析word文件,php解析word文档

(twips) 官方网站: 首先解释一下 PHPWord 最基本的计量单位:“缇”(twips),我们常常 在文件中看到或使用计量单位“缇”,它是开源办公软件中最......PHP书城系统商品展示模块的设计与实现[Word文档]_计算机软件及应用_IT/计算机_专业资料。PHP 书城系统商品展示模块的设计与实现关键字: PHP 书城系统商品展示模块的......php获取远程图片并保存到本地6页w...

weixin_39517241的博客 622

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python 解析 Word 与 PDF 文档的完整指南

通过使用和PyPDF2pdfplumber等库,Python开发者可以轻松地解析Word和PDF文档。无论是简单的文本提取还是复杂的表格分析,Python都能提供强大的工具来满足你的需求。希望这篇文章能帮助你在处理文档时更加得心应手!如果你有任何问题或需要进一步的帮助,请随时联系我。```

2501_91142068的博客 470

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: 解析pdf文档
下一篇: fileupload上传文件
Gyb_csdn
博客等级 码龄10年 9粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值