Skip to content

Table

XML常用部分结构

w:tbl
|
|-- w:tblPr
|   |-- w:tblStyle 
|   |-- w:tblW 
|   |-- w:tblLook 
|-- w:tblGrid
|   |-- w:gridCol
|   |-- w:gridCol
|-- w:tr
|   |-- w:trPr
|   |-- w:tc
|   |   |-- w:tcPr
|   |   |-- w:p
|   |   |   |-- w:pPr
|   |   |   |-- w:r
|   |   |   |   |-- w:rPr
|   |   |   |   |-- w:t

XML层级结构例子

xml
<w:tbl xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:tblPr>
    <w:tblStyle w:val="af2" />
    <w:tblW w:w="0" w:type="auto" />
    <w:tblLook w:val="04A0" w:firstRow="1" w:lastRow="0" w:firstColumn="1" w:lastColumn="0" w:noHBand="0" w:noVBand="1" />
  </w:tblPr>
  <w:tblGrid>
    <w:gridCol w:w="1185" />
    <w:gridCol w:w="1185" />
    <w:gridCol w:w="1185" />
    <w:gridCol w:w="1185" />
    <w:gridCol w:w="1185" />
    <w:gridCol w:w="1185" />
    <w:gridCol w:w="1186" />
  </w:tblGrid>
  <w:tr w:rsidR="0019579D" w:rsidTr="0019579D" w14:paraId="33A5DDD2" w14:textId="77777777" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml">
    <w:trPr>
      <w:tblHeader />
    </w:trPr>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="147D5349" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="26F0DA48" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="00F2CFEE" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="7E1F93C8" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="1C7553F3" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="5C224CB2" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1186" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="2AE52414" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
  </w:tr>
  <w:tr w:rsidR="0019579D" w:rsidTr="0019579D" w14:paraId="01D6A5ED" w14:textId="77777777" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml">
    <w:trPr>
      <w:tblHeader />
    </w:trPr>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="7D3B90DC" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="71314460" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="0A190BD7" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="7DE7FF68" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="483E43D9" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="17BDBA78" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1186" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="64A750E1" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
  </w:tr>
  <w:tr w:rsidR="0019579D" w:rsidTr="00DB319E" w14:paraId="1E7D8F22" w14:textId="77777777" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml">
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
        <w:vMerge w:val="restart" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="22A834F0" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="5925" w:type="dxa" />
        <w:gridSpan w:val="5" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="762CC6E7" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1186" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="2ED78E5F" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
  </w:tr>
  <w:tr w:rsidR="0019579D" w:rsidTr="0019579D" w14:paraId="584403E0" w14:textId="77777777" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml">
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
        <w:vMerge />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="51E8BCCE" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="68A0002D" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="5D33BA47" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="247E2045" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="15A8AED1" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="034740CD" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1186" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="5F8DA6C7" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
  </w:tr>
  <w:tr w:rsidR="0019579D" w:rsidTr="0019579D" w14:paraId="42A2D4EB" w14:textId="77777777" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml">
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
        <w:vMerge />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="44558237" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="1F7149A8" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="5823650E" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="60E8BEAC" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="5BE7BE99" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="6487E5EC" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1186" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="4C8C6F9E" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
  </w:tr>
  <w:tr w:rsidR="0019579D" w:rsidTr="0019579D" w14:paraId="4FD746F4" w14:textId="77777777" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml">
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
        <w:vMerge />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="7BCF1103" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="51CC9188" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="2FF7E88C" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="54A10A0A" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="410B10E7" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1185" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="60943DA4" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="1186" w:type="dxa" />
      </w:tcPr>
      <w:p w:rsidR="0019579D" w:rsidP="00375FFF" w:rsidRDefault="0019579D" w14:paraId="320DA09C" w14:textId="77777777">
        <w:pPr>
          <w:spacing w:line="360" w:lineRule="auto" />
        </w:pPr>
      </w:p>
    </w:tc>
  </w:tr>
</w:tbl>

如何创建一个简单的Table

c#
    DocumentFormat.OpenXml.Wordprocessing.Table table = new DocumentFormat.OpenXml.Wordprocessing.Table();

    DocumentFormat.OpenXml.Wordprocessing.TableProperties tblPr = new TableProperties();

    DocumentFormat.OpenXml.Wordprocessing.TableGrid tblGrid = new TableGrid();

    DocumentFormat.OpenXml.Wordprocessing.TableWidth tblW = new TableWidth() { Width = new StringValue("5000"), Type = TableWidthUnitValues.Pct };
    tblPr.Append(tblW);

    table.Append(tblPr);

    for (int i = 0; i < columns; i++){
     DocumentFormat.OpenXml.Wordprocessing.GridColumn gridCol = new GridColumn();

     if (!string.IsNullOrEmpty(gridColumnWidth))
     {
         gridCol.Width = new StringValue(gridColumnWidth);
     }

     tblGrid.Append(gridCol);
    }

    table.Append(tblGrid);

    int rows = 3;

    for (int i = 0; i < rows; i++){
     DocumentFormat.OpenXml.Wordprocessing.TableRow newRow = new DocumentFormat.OpenXml.Wordprocessing.TableRow(
         new TableRowProperties()
     );

     for (var j = 0; j < columnWidths.Count; j++)
     {
         DocumentFormat.OpenXml.Wordprocessing.TableCell newTableCell = new TableCell(
             new DocumentFormat.OpenXml.Wordprocessing.TableCellProperties(
                 new TableCellWidth() { Type = new EnumValue<TableWidthUnitValues>(TableWidthUnitValues.Auto) }
             ),
             new DocumentFormat.OpenXml.Wordprocessing.Paragraph()
         );

         newRow.AppendChild(newTableCell);
     }

     table.AppendChild(newRow);
    }
xml
<w:p xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
    <w:pPr>
     <w:jc w:val="center" />
    </w:pPr>
    <w:r xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
    <w:t>Hello World!</w:t>
    </w:r>
</w:p>

如何在Office软件中的段落里新增一个Table

通过使用 插入-> 表格 可以在Office软件中的段落里新增一个表格

w:tblPr

表格设置

w:tblStyle

表格样式

属性 类型 说明
w:tblStyle string 样式名称,自定义的需要在Word中注册

w:tblW

表格宽度

属性 类型 说明
w:w string 宽度值
w:type string 宽度类型,dxa表示以磅为单位,pct表示以百分比为单位,nil跟随父级,auto自动

w:tblLook

表格样式选项

属性 类型 说明
w:firstRow bool 标题行
w:lastRow bool 汇总行
w:firstColumn bool 第一列
w:lastColumn bool 最后一列
w:noHBand bool 镶边行
w:noVBand bool 镶边列

w:tblGrid

表格网格,gridCol的数量代表着列的数量

w:gridCol

表格列

属性 类型 说明
w:w string 宽度值

w:tr

表格行

w:trPr

表格行的样式

w:tblHeader

重复标题行

IMPORTANT

必须得从第一行开始,可以给多行设置,但是必须连续

w:tc

表格单元格

w:tcPr

表格单元格的样式

w:tcW

表格单元格的宽度

属性 类型 说明
w:w string 宽度值
w:type string 宽度类型,dxa表示以磅为单位,pct表示以百分比为单位,nil跟随父级,auto自动

w:vAlign

垂直布局

属性 类型 说明
w:val string top顶部,bottom底部,center居中
w:vMerge

表格单元格的垂直合并

属性 类型 说明
w:val string restart是起始单元格,continue是继续单元格
w:gridSpan

表格单元格的合并列数

属性 类型 说明
w:val string 合并的列数

更多详情