通过代码操作office时,使用openxml较之于之前的操作dom可以说是重新开始。在速度方面有着天生的优势,但在某些方面编程却有些不方便,比如插入行。
复制插入行则更麻烦一点,步骤记录如下:
-
复制行或生成新行
-
修改行索引和对应列索引
-
修改表达使用使用了这些列的表达式
-
修改这些列合并单元格记录中的索引
-
修改链接中的索引
-
修改图表中的索引
-
修改数据链中的索引
里边的文件主要就是一些xml文件和其他的素材
OpenXML
是微软官方一个开源的操作Word、
Excel
和PPT的SDK,用C#进
行
开发,使用此类库可以方便的对office这三类主要文档进
行
操作,而且还不用安装Office程序。
下边列举一下,如何使用
OpenXML
读取一个
Excel
文档中...
使用POI解析
Excel
1、
OpenXML
标准
Word、
Excel
、PPT是Office办公套件中最常用的三个组件。早期的Office套件使用二进制格式,这里面包括以.doc、.xls、.ppt为后缀的文件;直到07这个划时代的版本将基于XML的压缩格式作为默认文件格式,也就是相应以.docx、.xlsx、.pptx为后缀的文件。
这个结合了XML与Zip压缩技术的新文件格式使用的是
OpenXML
标准。微软从2000年开始酝酿这项技术标准,到2006年申请成为ECMA-376,然后在Office2007
前两节已经大概了解了
OpenXML
SDK 的一些主要类型,以及
Excel
文档内部的结构。接下来开始尝试vb.net教程第一个
Excel
文档导出的实现。其实操作
OpenXML
SDK, 大部分情况下,和操作XML是差不多的,大部分类型都是继承于
OpenXml
Element这个元素,一般大致了解XML的结构,对照来操作,都不是很难。
我们来生成一个简单的文档,设置第c#教程一
行
为表头,共五列,分别为:序号,学生姓名,学生年龄,学生班级,辅导老师, 同时输出2
行
具体的数据。
具体导出结果图 如下图所示:
openpyxl的
复制
粘贴流程如下:
1. 框定
复制
的区间:```active_sheet['A1':'B11']```
2. 框定粘贴的左上角的单元格:```active_sheet['D1']```
3. 然后循环
复制
范围内的每一个单元格,滑动赋值即可,滑动的时候使用:
```py
paste_to_cell.offset(
row
=0, column=1) # 右移1格