OOXMLForExcel研究.pdf_第1页
OOXMLForExcel研究.pdf_第2页
OOXMLForExcel研究.pdf_第3页
OOXMLForExcel研究.pdf_第4页
OOXMLForExcel研究.pdf_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Office Open XML For Excel 初步研究 序言序言 Office Open XML(缩写:Open XML、OpenXML 或 OOXML) ,为由 Microsoft 开发的一种以 XML 为基础并以 ZIP 格式 压缩的电子文件规范,支持文件、表格、备忘录、幻灯片等文件格式。 OOXML 在 2006 年 12 月成为了 ECMA 规范的一部分,编号为 ECMA- 376;并于 2008 年 4 月通过国际标准化组织的 表决,在两个月后公布为 ISOIEC 29500 国际标准。 从 Microsoft Office 2007 开始,Office Open XML 文件格式已经成为 Microsoft Office 默认的文件格式。 一、首先,我们来看一个最简单的表格。一、首先,我们来看一个最简单的表格。 1、本表格有三行三列,表格的名称是 Sheet1,第一列是三个文本值,第二列是三个数字,第三列是三个公式,如 图所示: 2、所有的 EXCEL 文件(本文均为.xlsx 文件,下同) ,修改扩展名为 zip 后,均可解压,解压到文件夹后,就可以看 到他里边的内容了。 这些文件大多为 xml 文件,以下图片中的 xml 文件,均为手工加入了换行,以方便解说。 里边有一个文件,Content_Types.xml,这个文件主要保存了压缩包里到底有哪些文件及他们的位置。 我们打开这个文件看一下,请看第 6 到 15 行(左边有行序号的) ,6 行,工作簿文件,7- 9 行,表格文件,10,主 题文件,11,样式文件,12,文本串,13,公式,14- 15,表格的一些其他属性。 3、我们先来看第 6 行的 workbook.xml 文件。 这个文件的里边保存了工作簿的一些信息。我们来打开这个文件,看一下他里边有什么。 第 3 行,版本信息,4 行,主题,5 行,窗口的位置,大小,6- 10 行,有哪些表格,表格的名称,表格的 ID,11 行, 此表格的公式属性。 4,那么我们的第一个表格 Sheet1 在哪里呢?从上图中可知,他的 ID 是 rId1(第 7 行) ,好吧,我们看看保存这个 表格的数据在哪。 凡是需要查找 ID 代表哪个文件的,都在相应的”_rels”文件夹下查找同名的”.rels”文件,他也是一个 xml 文件。 我们打开”_relsworkbook.xml.rels”这个文件,他的位置可从下图的左上角看出来。 从这个文件中找到 rId1,找相应的 Target 的值,可知表格 Sheet1 对应的文件是 worksheets/sheet1.xml。 Sheet1- -rId1- -worksheets/sheet1.xml。 5,好的,我们打开 worksheets/sheet1.xml 来看一下。 第 3 行,表格的使用区域是 A1:A3,4 行,此表格是当前工作簿的活动表格,5 行,默认的行高列宽,6- 14 行,表格 的内容,16 行,页边距,17 行,页面设置。 下面说下此表格里的内容, 此表格有三行, 行号分别为 1、 2、 3, 请看 7 行, 12 行, 13 行里的 row r=”1”, row r=”2”, row r=”3”。 我们先看 7- 11 行,这里表示他是表格中的一行。7 行,意思为:行号是 1,单元格有 1- 3,行高是 0.15。 8 行,r=”A1”,表示这是单元格 A1,t=”s”,表示此单元格的内容是文本,如果没有 t=”s”,表示这个单元格的内容是 数字的。 我们知道,表格里, 我们的第一列输入是文本值, A1 单元格我们写入的是”文本 1”,那么这个文本保存到哪里去了呢? 我们现在只知道他的值是 0,0,从这句里知道的(8 行) 。 我们表格中的第二列是数字列,请看第 9 行,可以看出,B1 的 v 值是 1(1) 。 在 12,13 行中,我们可以发现:B2,B3 的 v 值分别为 2,3,他们都没有 t 值(t=”s”) ,所以他们的内容是数字的, 单元格的值就是 v 值。 我们再看表格第三列的公式列, 第 10 行, 我们看到里边有一个B1+1, f 值就是保存的公式, C1 单元格 (r=”C1”) 的公式是 B1+1,这里是不需要”=”的, (第 10 行) 。同时我们还知道他的值是 2,是数字的。 在 12,13 行中,可以发现:C2 的公式是 B2+2,值是 4,C3 的公式是 B3+3,值是 6。 6,好吧,值是数字的单元格,我们已经知道了,值是文本的单元格,我们现在还不清楚呢。 上边那个单元格 A1,t=”s”, 0,他的文本保存在哪里呢?他在 sharedStrings.xml 文件中(这个文件我们在 前边的第 2 步里介绍过,说他是文本串文件) 。 我们打开 sharedStrings.xml 文件,看一下,第 2 行末尾,意思是字符串使用次数 3,有效数量 2,因为有些是重复使 用的。 3 行,我们终于看到”文本 1”这个字符串了,好吧我们 A1 单元格的文本内容就保存在这里,他使用的序号是从 0 开 始的。 从前边我们已经知道,单元格 A2,A3 的 t 值是 s,v 值都是 1,序号 1 在这里对应的文本是”文本 2”。 至此,我们已经知道单元格的内容是怎样保存的了。 二、我们来看一个只有几张图片的表格。二、我们来看一个只有几张图片的表格。 1、如下图所示,表格 Sheet1 中有三张图片,A1,B1 中的两张是一样的,A2 中的是另外一张。 2、 首先在表格 Sheet1 对应的 Sheet1.xml 文件中, 我们来看一下第 9 行, 表示这个表格里有图片, 对应的 id 是 rId1。 3、我们再到 Sheet1.xml 对应的”_relsSheet1.xml.rels”文件中去看一下。 在第 3 行中,我们找到了 id 为 rId1 的对应 Target,这样我们就知道了这个表格对应的图片文件是 “/drawings/drawing1.xml“。 4、我们来打开“/drawings/drawing1.xml“,看一下,这里记载了,他有 3 张图片,分别为 3- 12 行,13 行,14 行各 为一张(前边说过,这是手工加的换行符,为方便研究而已) 。 我们看第一张,3- 12 行,这里就记载了图片的位置,大小等其他属性,这个大家自己研究。 在 3- 12 行中,我们能发现0和0,好吧他代表 0 列 0 行,即 A1 单元格,里边 的序号通常是从 0 开始的。 图片的位置、左、顶、宽、高分别是多少呢,里边的这些数字分别代表什么意思呢? 那么 3- 12 行的这个图片是一张什么样的图片呢?里边有这么一句,r:embed=”rId1”,这是他的 ID,我们下边将带大 家去找到这张图片。 5、打开“/drawings/drawing1.xml“对应的“/drawings/_rels/drawing1.xml.rels“文件。我们不难发现 rId1(第 4 行)对 应的 Target 为“/media/image1.jpeg“。这是一张什么图片呢? 6、好吧,我们找到“/media/image1.jpeg“,现在我们已经知道这是一张什么样的图片了。我们看到:image1.jpeg 这 张图片就是刚才我们要找的 A1 单元格的图片。 三、我们再来看一下单元格的格式。三、我们再来看一下单元格的格式。 1、在表格中我们随便录入了几个内容,设置了一下格式,如下图。 2、当然首先是打开这个表格对应的 Sheet1.xml 文件,我们不难发现表格内容比我们刚开始研究的时候,多了一个 值,如第 6 行的 s=”1”,好吧,这就代表这个单元格是设置了格式的,他的格式序号是 1。 3、我们打开 styles.xml 文件,在前边说过,这个文件就是单元格的格式信息。 31- 33 行,记载了样式。 20- 22 行,记载了各个样式的详细格式。 23- 30 行,如果一个单元格没有应用样式,就从这里找他的格式,我们暂且称他为自定义样式。 样式和自定义样式都包括了数字格式,字体,填充,边框,还有对齐格式。 分别从下边这几个格式里找到详细的 设置 3- 6 行,是数字格式,里边记录了数字格式的代码和 ID。 7- 11 行,是字体格式,包括字体名称,字号,加粗,倾斜,下划线,删除线等。 12- 15 行,是填充格式。 16- 19 行,是边框格式。 至于对齐格式,保存在样式或自定义样式里边。 4、关于格式,网上有一篇文章,介绍得很清楚,我就不再多说了。 有兴趣的可以参考一下,/liuzhendong/p/3170836.html 参考资料参考资料 /zh- cn/library/gg278328.aspx /blog/1883385 /china/msdn/library/office/office/OfficeOpenXMLFormats.mspx?mfr=true http:/bai

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论