表是 Word 中的另一类型的块级内容,它是以行和列排列的一组段落(以及其他块级内容)。

Word 中的表格通过 tbl 元素定义,该元素类似于 HTML <表格>标记。 表元素指定文档中存在的表的位置。

tbl 元素具有两个定义其属性的元素:tblPr 和 tblGrid,前者定义表范围的一组属性(如样式和宽度),后者定义表的网格布局。tbl 元素还可包含任意(非零)数目的行,其中每行使用 tr 元素来指定。每个 tr 元素可包含任意非零个单元格,其中每个单元格使用 tc 元素来指定。

下表列出使用表时使用的一些最常见的 Open XML SDK 类。

XML 元素 Open XML SDK 类
内容单元格 内容单元格
gridCol GridColumn
tblGrid TableGrid
tblPr TableProperties
tc TableCell
tr TableRow

Table 类

Open XML SDK  Table 类代表 (<tbl>),该元素在 Word文档的 Open XML 文件格式架构中定义,如上所述。 使用 Table 对象可以处理 Word 文档中的单个表。

TableProperties 类

Open XML SDK TableProperties 类代表 (<tblPr>) 元素,该元素在 Word文档的 Open XML 文件格式架构中定义。 <tblPr> 元素定义表的表范围属性。 使用 TableProperties 对象可为 Word 文档中的表设置表范围属性。

TableGrid 类

Open XML SDK  TableGrid 类代表 (<tblGrid>) 元素,该元素在 Word文档的 Open XML 文件格式架构中定义。 与网格列 (<gridCol>) 子元素一起使用时,<tblGrid> 元素定义表的列并指定列中表格单元格的默认宽度。 使用 TableGrid 对象可以定义 Word 文档的表中的列。

GridColumn 类

Open XML SDK GridColumn 类代表网格列 (<gridCol>) 元素,该元素在 Word文档的 Open XML 文件格式架构中定义。 <gridCol> 元素是 <tblGrid> 元素的一个子元素,并在 Word 文档中的表中定义的单个列。 使用 GridColumn 类可以处理 Word 文档中的单个列。

TableRow 类

Open XML SDK  TableRow 类代表表格行 (<tr>) 元素,该元素在 Word文档的 Open XML 文件格式架构中定义。 <tr> 元素在 Word 文档的表中定义一行,类似于 HTML 中的 <tr> 标记。 使用表格行属性 (<trPr>) 元素,还可对表格行应用格式。 Open XML SDK TableRowProperties 类表示 <trPr> 元素。

TableCell 类

Open XML SDK  TableCell 类代表表格单元格 (<tr>) 元素,该元素在 Word 文档的 Open XML 文件格式架构中定义。 <tc> 元素在 Word文档的表中定义一个单元格,类似于 HTML 中的 <td> 标记。 使用表格单元格属性 (<tcPr>) 元素,还可对表格单元格应用格式。 Open XML SDK TableCellProperties 类表示 <tcPr> 元素。

Open XML SDK 代码示例

下面的代码可在文档中插入具有 10 行和 10 列的表。

         public static void InsertTableInDoc(string filepath)
{
using (pkg.WordprocessingDocument doc = pkg.WordprocessingDocument.Open(filepath, true))
{
Word.Body body = doc.MainDocumentPart.Document.Body; Word.Table tbl = new Word.Table(); Word.TableProperties tableProp = new Word.TableProperties(); //设置表样式
Word.TableStyle tableStyle = new Word.TableStyle() { Val = "" }; Word.TableWidth tableWidth = new Word.TableWidth() { Width = "", Type = Word.TableWidthUnitValues.Pct }; tableProp.Append(tableStyle, tableWidth);
tbl.AppendChild(tableProp); Word.TableGrid tg = new Word.TableGrid(new Word.GridColumn(), new Word.GridColumn(), new Word.GridColumn()); tbl.AppendChild(tg); Word.TableRow tr1 = null; for(int r = ; r <= ; r++)
{
tr1 = new Word.TableRow();
for (int c = ; c <= ; c++)
{
tr1.Append(new Word.TableCell(new Word.Paragraph(new Word.Run(new Word.Text((c*r).ToString())))));
}
tbl.AppendChild(tr1);
} // Word.TableCell tc1 = new Word.TableCell(new Word.Paragraph(new Word.Run(new Word.Text("1")))); body.AppendChild(tbl); doc.Close();
doc.Dispose();
}

openXML向Word插入表的更多相关文章

  1. 2、word插入目录、图/表

    一.word插入目录 依次对每个标题在“段落”中进行大纲级别选择. 光标定位于目录生成的页面,再“引用”->“目录”->选择“自动目录1/2”,则可自动生成目录.若目录有所更改,则可选择“ ...

  2. OpenXML操作word

    OpenXML概述 项目中经常需要操作word,之前的方式是采用COM接口,这个接口很不稳定,经常报错.现在开始采用OpenXML.OpenXML(OOXML)是微软在Office 2007中提出的一 ...

  3. OpenXml操作Word的一些操作总结.无word组件生成word.

    OpenXml相对于用MS提供的COM组件来生成WORD,有如下优势: 1.相对于MS 的COM组件,因为版本带来的不兼容问题,及各种会生成WORD半途会崩溃的问题. 2.对比填满一张30多页的WOR ...

  4. OpenXml操作Word的一些操作总结. - 天天不在

    OpenXml相对于用MS提供的COM组件来生成WORD,有如下优势: 1.相对于MS 的COM组件,因为版本带来的不兼容问题,及各种会生成WORD半途会崩溃的问题. 2.对比填满一张30多页的WOR ...

  5. OpenXml操作Word的一些操作总结.

    OpenXml操作Word的一些操作总结. OpenXml相对于用MS提供的COM组件来生成WORD,有如下优势: 1.相对于MS 的COM组件,因为版本带来的不兼容问题,及各种会生成WORD半途会崩 ...

  6. OpenXml操作Word的一些操作总结.无word组件生成word.(转)

    http://www.cnblogs.com/zhouxin/p/3174936.html OpenXml相对于用MS提供的COM组件来生成WORD,有如下优势: 1.相对于MS 的COM组件,因为版 ...

  7. 存储过程:当基站ID大于1000的时候,把ID通过存储过程插入表,然后处理

    不推荐这么弄,没办法,项目逼到这了,以后尽量避免这样的需求发生! CREATE OR REPLACE PROCEDURE insert_tempStation_proc(v_instr in clob ...

  8. SQL语句-批量插入表(表数据插表)

    批量插入表(表数据插表) ****1.INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,...) select value1,val ...

  9. mssql字符串分割后的值,把表中不存在的插入表中

    字符串分割后的值,把表中不存在的插入表中 --供大家参考 使用场景,自行思考…… --创建表tb1 Create table tb1 ( cola int, colb ) ) --插入数据 inser ...

随机推荐

  1. LocalDate的使用

    LocalDate的一些使用方法 今天半天的时间都用在了LocalDate上,然后呢,也是自己的第一次写博客. 首先来看看会用上的方法吧. 两个构造器,用的是静态工厂方法 static   Local ...

  2. java实现将包含多个<REC>的文件拆成若干只包含一个<REC>的文件

    遍历文件夹里的文件,将包含多个<REC>的文件拆成若干只包含一个<REC>的文件 package com.prepub; import java.io.BufferedRead ...

  3. git pre-push hook

    This article introduces git pre-push hook. Problem In Lean project, we use a modified version of Goo ...

  4. Linux服务器文件和windows本机文件互传方法(本地文件上传Linux,Linux文件下载到本机)

    1.windows系统中下载XShell安装文件.下载地址:https://www.newasp.net/soft/384562.html 2.安装之后,新建会话输入远程linux的账号和密码. 3. ...

  5. iOS多图上传

    iOS多图上传涉及到多线程问题,个人比较喜欢使用GCD操作,下边是最近写的一个多图上传代码,附带相关注释 __block BOOL allSucc = YES; __block int m = 0; ...

  6. abap 常用TCODE

    ABAP: 通过查询表TSTC或者TSTCT:SAP系统将所有的事务代码都存储在这个表中,包括字开发的Y*和Z* TCODE 事务代码功能描述 CG3Y 下载服务器上文件 CG3Z upload fi ...

  7. Linux驱动之USB鼠标驱动编写

    本篇博客分以下几部分讲解 1.介绍USB四大描述 2.介绍USB鼠标驱动程序功能及框架 3.介绍程序用到的结构体 4.介绍程序用到的函数 5.编写程序 6.测试程序 1.介绍USB四大描述符 USB设 ...

  8. nginx学习笔记(二)

    nginx变量 Nginx 变量值容器的生命期是与当前正在处理的请求绑定的,而与 location 无关. 通过 set 指令隐式创建的 Nginx 变量.这些变量我们一般称为"用户自定义变 ...

  9. leetcode26: 删除排序数组中的重复项

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1 ...

  10. 永久注册Oracle工具PL/SQL