最近遇到一个问题,Word里有个从Excel直接复制进去的图,但那个Excel已经找不到了,无法通过编辑数据获取到表格的数据。这个其实可以用getdata等软件获取,或者鼠标点在表上的点就可以显示数据,再把数据录下来,不过太麻烦了。下面是我的一个解决办法。
1. word结构说明
Word其实是多个XML文件,这个文件就是写网页或者Markdown格式的文本类似,可以设置不同的节点和属性来定义Word字体的内容颜色大小间距等格式。而office就是一个吧这些xml格式文件显示成我们看到的Word样式。
- 首先将Word的后缀名改成zip或rar就可以得到一个压缩包
- 解压压缩包得到一个文件夹,里面有一个Word的各部分内容
这里面包含了Word的主题,标题,格式,脚注等等
其中document是Word的文本内容
可以看到每个文本前面都有这句话的一个格式信息,一般这句话的结构也称作一个run,一般用代码提取Word中的信息的时候基本上也是利用这个思路来获取Word的信息。
2. 图片数据获取
这里我们找到charts文件夹,可以看到里面有各个图片的XML文件
打开其中一个,这里面其实定义了图片的各个属性,以及怎么画出来的,具体不在介绍了,我也不懂,但是数据信息可以很容易找到
把数据复制出来,没用的替换删除即可