问题?最近遇到了要解析word的问题,查阅了很多资料才搞定。03版和07版的word

POI解析:去官网下载jar,添加如下包即可:

代码:

package com.itcast.test;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;import org.apache.poi.POIXMLDocument;
import org.apache.poi.POIXMLTextExtractor;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFPictureData;
import org.apache.xmlbeans.XmlException;public class WordTest1 {public void wordWithOld() {// word 2003: 图片不会被读取try {FileInputStream is = new FileInputStream(new File("F://2.doc"));WordExtractor ex = new WordExtractor(is);String[] graph = ex.getParagraphText();System.out.println("该Word共有" + graph.length + "段");for (int i = 0; i < graph.length; i++) {System.out.println("第" + (i + 1) + "段有这样的内容:" + graph[i]);}String text2003 = ex.getText();System.out.println("总的内容:" + text2003);is.close();ex.close();} catch (FileNotFoundException e1) {e1.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public void wordWithNew() {// word 2007 图片不会被读取, 表格中的数据会被放在字符串的最后try {OPCPackage opcPackage = POIXMLDocument.openPackage("F://1.docx");POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);String text2007 = extractor.getText();System.out.println(text2007);opcPackage.close();extractor.close();} catch (IOException e) {e.printStackTrace();} catch (XmlException e) {e.printStackTrace();} catch (OpenXML4JException e) {e.printStackTrace();}}public void wordPictureRead() {// 得到Word中的所有图片及内容File file = new File("F://1.docx");FileInputStream inputStream;try {inputStream = new FileInputStream(file);XWPFDocument xwpfDocument = new XWPFDocument(inputStream);XWPFWordExtractor extractor = new XWPFWordExtractor(xwpfDocument);String text = extractor.getText();System.out.println(text+"\n");List<XWPFPictureData> list = xwpfDocument.getAllPictures();for (XWPFPictureData picture : list) {System.out.println(picture.getPictureType() + File.separator+ picture.suggestFileExtension() + File.separator+ picture.getFileName());byte[] by = picture.getData();FileOutputStream stream1 = new FileOutputStream("F:\\"+ picture.getFileName());stream1.write(by);}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {WordTest1 test1 = new WordTest1();test1.wordPictureRead();/*test1.wordWithOld(); test1.wordWithNew();*/}
}

POI解析03版07版Word相关推荐

  1. POI解析Excel表格

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里实现poi解析Excel表格的例子,导入Exc ...

  2. Apache POI和EasyExcel 第四集:Apache POI的Excel基本读取(分为03版的xls、07版的xlsx)

    Apache POI和EasyExcel 第四集:Apache POI的Excel基本读取(分为03版的xls.07版的xlsx) 一.资源 一个十分好用的日期类型处理包,和Java8搭配使用非常好 ...

  3. Apache POI和EasyExcel 第三集:Apache POI的Excel大数据量写入(分为03版的xls、07版的xlsx、升级版SXSSF)

    Apache POI和EasyExcel 第三集:Apache POI的Excel大数据量写入(分为03版的xls.07版的xlsx.升级版SXSSF) 一.结果 我的03跑了1.204秒,07跑了5 ...

  4. Apache POI和EasyExcel 第二集:Apache POI的基本Excel写入(分为03版的xls和07版的xlsx)

    Apache POI和EasyExcel 第二集:Apache POI的基本Excel写入(分为03版的xls和07版的xlsx) 一.导入依赖 老样子使用Maven,比较方便,一个dependenc ...

  5. 关于poi解析word 2007版docx问题

    最近因工作需要使用java解析word 2007 .docx文档,电脑上用的office版本是未激活的office,保存打开编辑都没有问题,但是使用poi来读取数据时,却提示 而使用WPS和正版的Of ...

  6. 数据可视化第二版-03部分-07章-局部与整体

    文章目录 数据可视化第二版-03部分-07章-局部与整体 总结 可视化视角-局部与整体 代码实现 韦恩图 venn3 venn2 饼图 环形图 旭日图 园堆积图 矩形树图 漏斗图 基于matplot' ...

  7. 看完这篇你就知道07版Word怎么设置页码

    Word设置页码主要目的是为了让阅读的人清楚知道自己当下查看的内容位置,以及在制作Word目录时,页码能够快速定位目录标题. Word页码设置可以参考以下步骤: 打开Word程序,选择"页面 ...

  8. 关于07版Excel的研究

    07版Excel采用Xml打包的形式展现给世人,从此我们很方便地解析excel文件了 任意一款解压工具都可以解压开一个xlsx扩展名文件,如: WinRAR.exe x   a.xls a\ 这样就把 ...

  9. 清理easyexcel导出07版Excel时产生的poi-sxssf-sheet*.xml临时文件

    最新编辑 临时文件问题已经在官方2.x版本修复了,此文档不具有参考性了 事件起源 因为生产环境每天有大量的Excel文件导出,以前是导出03版,但是03版的每个sheet行数有限而且同样的数据文件本身 ...

最新文章

  1. 【行业报告】中国金融科技2017专题研究报告——易观智库
  2. 测试用例怎么写_如何高效组织自动化测试用例
  3. 必须了解的Web安全知识(第一部分:HTTPS,TLS,SSL,CORS,CSP)
  4. 在Android中通过导入静态数据库来提高应用第一次的启动速度
  5. 半小时掌握 Jupyter Notebook常用用法
  6. 【VUE】vue在vue-cli3环境下基于axios解决跨域问题
  7. VALSE学习(十五):网络搜索结构-NAS
  8. python global用法_利用Python自动发送钉钉数据消息
  9. 软件开发人员的简历项目经验怎么写
  10. Matlab安装minGW
  11. 5G China unicom 一般性异常处理
  12. 笔记本cpu和台式cpu有什么区别
  13. 主力用计算机吸筹,主力底部吸筹 副图
  14. 社工库寻求帮助可以下载
  15. 基于MATLAB APP Designer 和 Python 的音视频剪辑
  16. uni-app的渲染数据和三种调接口的方法
  17. 超简单的java短信验证码,神级之作
  18. 8421BCD码 5421BCD码 余三码 格雷码 余三循环码之间的关系,转换以及简易方法
  19. 轻松学Pytorch – 人脸五点landmark提取网络训练与使用
  20. Ubuntu子系统安装GPGPU-SIM(附相关文件)

热门文章

  1. 关于淘宝 TOP 开发 使用的一些心得,问题不断更新中。。。
  2. 计算机三级哪个实用点,考计算机三级哪个简单?哪个会实用点?
  3. Linux下安装EDB
  4. 九宫格控件NineGridView
  5. ftp协议及简单配置
  6. Fiddle过滤设置
  7. 使用PLSQL远程连接Oracle
  8. 第九讲 Fiddler简单介绍和音频下载
  9. matlab中结束脚本运行_一个处理dump文件的小脚本
  10. 高德地图 android key,Android实现高德地图key值申请和地图显示