表是 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. DDB---查询与优化

    摘要:分布式数据库(Distributed DB)是数据库中非常重要的一个部分,随着要处理的数据越来越多,分布式逐渐成为了一种策略.主要有:分布式操作系统,分布式程序设计语言,分布式文件系统,分布式数 ...

  2. python 获取list的下标

    print(your_list.index('your_item')) #your_list为列表名称 your_item为需要修该的数据

  3. Celery 1

    Celery是一个用Python开发的异步的分布式任务调度模块 Celery有以下优点: 简单:一但熟悉了celery的工作流程后,配置和使用还是比较简单的 高可用:当任务执行失败或执行过程中发生连接 ...

  4. 轮播插件swiper

    使用步骤 1.引用js <script src="swiper/swiper.min.js" type="text/javascript" charset ...

  5. requests+django+bs4实现一个web微信的功能

    前言: 今天我们利用requests模块+django+bs4浏览器来实现一个web微信的基本功能,主要实现的功能如下 a.实现返回二维码 b.实现手机扫码后二维码变成变成头像 c.实现手机点击登陆成 ...

  6. shp2pgsql向postgresql导入shape数据

    1. 准备好Shape文件(不仅仅是.shp文悠扬,还要有其他相关数据文件,包括.shx..prj..dbf文件). 2. 使用命令将Shape数据转换为*.sql文件 shp2pgsql -s 38 ...

  7. python 微信轰炸

    from __future__ import unicode_literals import requests import itchat import time def get_news(): ur ...

  8. sourcetree 跳过首次登录

    定位到用户缓存数据目录:(需要在文件夹选项中 开启不隐藏文件夹和不隐藏文件扩展名) 一般为: C:\Users\{用户名}\AppData\Local\Atlassian 进入sourcetree目录 ...

  9. SRILM的使用及平滑方法说明

    1.简介 SRILM是通过统计方法构建语言模型,主要应用于语音识别,文本标注和切分,以及机器翻译等. SRILM支持语言模型的训练和评测,通过训练数据得到语言模型,其中包括最大似然估计及相应的平滑算法 ...

  10. TypeError: 'range' object does not support item assignment处理方法

    vectorsum.py#!/usr/bin/env/pythonimport sysfrom datetime import datetimeimport numpy as np # def num ...