Word
基础的WordXML对应元素
- w:document:表示Word文档的根元素。
- **w:p:**表示段落(Paragraph)元素。
- **w:r:**表示文本运行(Run)元素,用于包含文本内容。
- **w:t:**表示文本(Text)元素,用于存放实际的文本内容。
- **w:tbl:**表示表格(Table)元素。
- **w:tr:**表示表格行(Table Row)元素。
- **w:tc:**表示表格单元格(Table Cell)元素。
- **w:hyperlink:**表示超链接(Hyperlink)元素。
- **w:br:**表示换行符(Break)元素。
- **w:img:**表示图像(Image)元素,用于插入图像
基本结构
根据上述元素再结合资料得出,创建一个最基础的表格大概结构如下
<?xml ...?>
<w:document>
<w:tbl>
<!-- 表格的内容 -->
<W:tr>
<w:tc>
<w:p>
<w:r>
<w:t>
单元格文字
<!-- 单元格内容 -->
</w:t>
</w:r>
</w:p>
</w:tc>
....
<w:tc>
....
</w:tc>
</W:tr>
</w:tbl>
</w:document>
基本表格
下面就是一个最简单的三行三列的表格
代码如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- document.xml 部件是文档正文中的内容。 需要此部件的元素用于内容显示的位置。-->
<w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xml:space="preserve">
<!---文档内容-->
<w:body>
<!-- 表格开始标志-->
<w:tbl>
<!-- 表格属性-->
<w:tblPr>
<w:tblStyle w:val="3"/>
<w:tblW w:w="0" w:type="auto"/>
<w:tblInd w:w="0" w:type="dxa"/>
<!--边框线-->
<w:tblBorders>
<!--上边线-->
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--左边线-->
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--下边线-->
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--右边线-->
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--横线-->
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--竖线-->
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
</w:tblPr>
<!--表格加一行-->
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
</w:tblPrEx>
<!--表格加一列-->
<w:tc>
<!--单元格属性,由X行Y列决定在这一行中新加的一列就是一个单元格-->
<w:tcPr>
<!--单元格宽-->
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<!-- w:p 单元格中加一段落-->
<w:p>
<w:pPr>
<!--单元格文字位置-->
<w:jc w:val="right"/>
</w:pPr>
<w:r>
<!-- w:t 表示真正的文本内容-->
<w:t>一一</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>一二</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>一三</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
<w:tblCellMar>
<w:left w:w="108" w:type="dxa"/>
<w:right w:w="108" w:type="dxa"/>
</w:tblCellMar>
</w:tblPrEx>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>二一</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>二二</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>二三</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
<w:tblCellMar>
<w:left w:w="108" w:type="dxa"/>
<w:right w:w="108" w:type="dxa"/>
</w:tblCellMar>
</w:tblPrEx>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>三一</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>三二</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>三三</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
</w:tbl>
</w:body>
</w:wordDocument>
效果如下:
表格在实际使用过程中,经常会有合并的情况,使用xml如何表示行列合并?
行合并
通过添加标签<w:vmerge w:val="restart"/>
实现行合并。
在需要合并的第一行行开头的行样式标签中添加<w:vMerge w:val="restart"/>
标签,在被合并行的行样式标签中添加<w:vmerge />
代码如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- document.xml 部件是文档正文中的内容。 需要此部件的元素用于内容显示的位置。-->
<w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xml:space="preserve">
<!---文档内容-->
<w:body>
<!-- 表格开始标志-->
<w:tbl>
<!-- 表格属性-->
<w:tblPr>
<w:tblStyle w:val="3"/>
<w:tblW w:w="0" w:type="auto"/>
<w:tblInd w:w="0" w:type="dxa"/>
<!--边框线-->
<w:tblBorders>
<!--上边线-->
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--左边线-->
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--下边线-->
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--右边线-->
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--横线-->
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--竖线-->
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
</w:tblPr>
<!--表格加一行-->
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
</w:tblPrEx>
<!--表格加一列-->
<w:tc>
<!--单元格属性,由X行Y列决定在这一行中新加的一列就是一个单元格-->
<w:tcPr>
<!--单元格宽-->
<w:tcW w:w="4261" w:type="dxa"/>
<!--行合并开始标志-->
<w:vmerge w:val="restart"/>
</w:tcPr>
<!-- w:p 单元格中加一段落-->
<w:p>
<w:pPr>
<!--单元格文字位置-->
<w:jc w:val="right"/>
</w:pPr>
<w:r>
<!-- w:t 表示真正的文本内容-->
<w:t>一一</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>一二</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>一三</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
<w:tblCellMar>
<w:left w:w="108" w:type="dxa"/>
<w:right w:w="108" w:type="dxa"/>
</w:tblCellMar>
</w:tblPrEx>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
<w:vmerge />
</w:tcPr>
<w:p>
<w:r>
<w:t>XXX</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>二二</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>二三</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
<w:tblCellMar>
<w:left w:w="108" w:type="dxa"/>
<w:right w:w="108" w:type="dxa"/>
</w:tblCellMar>
</w:tblPrEx>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>三一</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>三二</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>三三</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
</w:tbl>
</w:body>
</w:wordDocument>
效果如下
列合并
同样是通过添加标签实现。
在开始合并列的样式标签里添加<w:gridSpan w:val="2"/>
后续不需要继续添加<w:tc>标签,只需要设置值,val="2"就表示两列合并,跨度为2。
代码如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- document.xml 部件是文档正文中的内容。 需要此部件的元素用于内容显示的位置。-->
<w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xml:space="preserve">
<!---文档内容-->
<w:body>
<!-- 表格开始标志-->
<w:tbl>
<!-- 表格属性-->
<w:tblPr>
<w:tblStyle w:val="3"/>
<w:tblW w:w="0" w:type="auto"/>
<w:tblInd w:w="0" w:type="dxa"/>
<!--边框线-->
<w:tblBorders>
<!--上边线-->
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--左边线-->
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--下边线-->
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--右边线-->
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--横线-->
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<!--竖线-->
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
</w:tblPr>
<!--表格加一行-->
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
</w:tblPrEx>
<!--表格加一列-->
<w:tc>
<!--单元格属性,由X行Y列决定在这一行中新加的一列就是一个单元格-->
<w:tcPr>
<!--单元格宽-->
<w:tcW w:w="4261" w:type="dxa"/>
<!--行合并开始标志-->
<w:vmerge w:val="restart"/>
</w:tcPr>
<!-- w:p 单元格中加一段落-->
<w:p>
<w:pPr>
<!--单元格文字位置-->
<w:jc w:val="right"/>
</w:pPr>
<w:r>
<!-- w:t 表示真正的文本内容-->
<w:t>一一</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>一二</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>一三</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
<w:tblCellMar>
<w:left w:w="108" w:type="dxa"/>
<w:right w:w="108" w:type="dxa"/>
</w:tblCellMar>
</w:tblPrEx>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
<w:vmerge />
</w:tcPr>
<w:p>
<w:r>
<w:t>XXX</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>二二</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>二三</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
<w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
</w:tblBorders>
<w:tblCellMar>
<w:left w:w="108" w:type="dxa"/>
<w:right w:w="108" w:type="dxa"/>
</w:tblCellMar>
</w:tblPrEx>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>三一</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4261" w:type="dxa"/>
<w:gridSpan w:val="2"/>
</w:tcPr>
<w:p>
<w:r>
<w:t>三二</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
</w:tbl>
</w:body>
</w:wordDocument>
效果如下:
注意事项:网上搜寻的其他资料中,行合并标签中的vmerge中的m为大写,自己从wps直接保存出来也是如此,但是自己测试的时候大写行合并功能不会生效.
Excel
基础的ExcelXML对应元素
- **ss:Workbook:**根元素
- **ss:Styles:**样式
- **ss:Worksheet:**工作簿
- **ss:Table:**工作表,可以有多个
- ss:Column: 用于设置列宽
- **ss:Row:**行
- **ss:Cell:**列
基本结构
大概总结基本表格为如下结构。
<ss:Workbook xxxx>
<ss:Styles>
<!-- 样式内容 -->
</ss:Styles>
<ss:Worksheet ss:Name="xxx">
<ss:Table >
<!-- 设置列宽 -->
<ss:Column ss:Width="xxx"/>
<!-- 表格内容 -->
<ss:Row ss:Height="xxx">
<ss:Cell >
<!-- 单元格内容 -->
<ss:Data ss:Type="String">第一列</ss:Data>
</ss:Cell>
</ss:Row>
<!-- xxxx -->
</ss:Table>
</ss:Worksheet>
</ss:Workbook>
基本表格
以下是最基本三行三列表格
代码如下:
<?xml version="1.0"?>
<!--使用前缀ss 表示该命名空间适用所有前缀为ss的++++根元素 Workbook +++++ 声明命名空间-->
<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<!--名称空间声明表示xmlns:ss =而不仅仅是xmlns =。这意味着任何前面有“ss:”的东西都适用于电子表格命名空间。-->
<!-- 表格基本样式 -->
<ss:Styles>
<ss:Style ss:ID="1">
<ss:Font ss:Bold="1"/>
</ss:Style>
</ss:Styles>
<!-- 工作簿 -->
<ss:Worksheet ss:Name="Sheet1">
<!-- 添加工作表 工作簿可以有多个工作表 ss:DefaultColumnWidth="54"可以设置其他单元格默认宽度, ss:DefaultRowHeight 可以设置单元格默认高度 -->
<ss:Table ss:DefaultColumnWidth="60" ss:DefaultRowHeight="15">
<!-- 设置列宽 -->
<ss:Column ss:Width="180"/>
<ss:Column ss:Width="80"/>
<ss:Column ss:Width="80"/>
<!-- 添加一个<Row>标签以及三个<Cell>标签。单元格的实际内容包含在一个<Data>标签中 -->
<!-- 引用样式 ss:StyleID="1" 设置某一行行高,在该标签中添加 ss:Height="xx"-->
<ss:Row ss:StyleID="1" ss:Height="15">
<ss:Cell >
<ss:Data ss:Type="String">第一列</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">第二列</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">第三列</ss:Data>
</ss:Cell>
</ss:Row>
<ss:Row>
<ss:Cell>
<ss:Data ss:Type="String">二行一列</ss:Data>
</ss:Cell>
<ss:Cell >
<ss:Data ss:Type="String" >二行二列</ss:Data>
</ss:Cell>
<!--<ss:Cell>
<ss:Data ss:Type="String">二行三列</ss:Data>
</ss:Cell>-->
</ss:Row>
<ss:Row ss:Height="25">
<ss:Cell >
<ss:Data ss:Type="String">三行一列</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">三行二列</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">三行三列</ss:Data>
</ss:Cell>
</ss:Row>
</ss:Table>
</ss:Worksheet>
</ss:Workbook>
效果如下:
行合并
在<ss:Cell>
标签中添加<ss:Cell ss:MergeDown="1">
属性,数字代表需要合并后续的行数。
比如合并第一二行,代码如下:
<?xml version="1.0"?>
<!--使用前缀ss 表示该命名空间适用所有前缀为ss的++++根元素 Workbook +++++ 声明命名空间-->
<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<!--名称空间声明表示xmlns:ss =而不仅仅是xmlns =。这意味着任何前面有“ss:”的东西都适用于电子表格命名空间。-->
<!-- 表格基本样式 -->
<ss:Styles>
<ss:Style ss:ID="1">
<ss:Font ss:Bold="1"/>
</ss:Style>
</ss:Styles>
<!-- 工作簿 -->
<ss:Worksheet ss:Name="Sheet1">
<!-- 添加工作表 工作簿可以有多个工作表 ss:DefaultColumnWidth="54"可以设置其他单元格默认宽度, ss:DefaultRowHeight 可以设置单元格默认高度 -->
<ss:Table ss:DefaultColumnWidth="60" ss:DefaultRowHeight="15">
<!-- 设置列宽 -->
<ss:Column ss:Width="180"/>
<ss:Column ss:Width="80"/>
<ss:Column ss:Width="80"/>
<!-- 添加一个<Row>标签以及三个<Cell>标签。单元格的实际内容包含在一个<Data>标签中 -->
<!-- 引用样式 ss:StyleID="1" 设置某一行行高,在该标签中添加 ss:Height="xx"-->
<ss:Row ss:StyleID="1" ss:Height="15">
<!-- 合并行,数字代表需要合并后续的行数 -->
<ss:Cell ss:MergeDown="1">
<ss:Data ss:Type="String">第一列</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">第二列</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">第三列</ss:Data>
</ss:Cell>
</ss:Row>
<ss:Row>
<ss:Cell>
<ss:Data ss:Type="String">二行一列</ss:Data>
</ss:Cell>
<ss:Cell >
<ss:Data ss:Type="String" >二行二列</ss:Data>
</ss:Cell>
<!--<ss:Cell>
<ss:Data ss:Type="String">二行三列</ss:Data>
</ss:Cell>-->
</ss:Row>
<ss:Row ss:Height="25">
<ss:Cell >
<ss:Data ss:Type="String">三行一列</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">三行二列</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">三行三列</ss:Data>
</ss:Cell>
</ss:Row>
</ss:Table>
</ss:Worksheet>
</ss:Workbook>
效果如下:
列合并
在<ss:Cell>
标签中添加<ss:Cell ss:MergeDown="1">
属性,数值代表后续合并的行数,且不需要再添加<ss:Row>
标签
代码如下:
<?xml version="1.0"?>
<!--使用前缀ss 表示该命名空间适用所有前缀为ss的++++根元素 Workbook +++++ 声明命名空间-->
<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<!--名称空间声明表示xmlns:ss =而不仅仅是xmlns =。这意味着任何前面有“ss:”的东西都适用于电子表格命名空间。-->
<!-- 表格基本样式 -->
<ss:Styles>
<ss:Style ss:ID="1">
<ss:Font ss:Bold="1"/>
</ss:Style>
</ss:Styles>
<!-- 工作簿 -->
<ss:Worksheet ss:Name="Sheet1">
<!-- 添加工作表 工作簿可以有多个工作表 ss:DefaultColumnWidth="54"可以设置其他单元格默认宽度, ss:DefaultRowHeight 可以设置单元格默认高度 -->
<ss:Table ss:DefaultColumnWidth="60" ss:DefaultRowHeight="15">
<!-- 设置列宽 -->
<ss:Column ss:Width="180"/>
<ss:Column ss:Width="80"/>
<ss:Column ss:Width="80"/>
<!-- 添加一个<Row>标签以及三个<Cell>标签。单元格的实际内容包含在一个<Data>标签中 -->
<!-- 引用样式 ss:StyleID="1" 设置某一行行高,在该标签中添加 ss:Height="xx"-->
<ss:Row ss:StyleID="1" ss:Height="15">
<!-- 合并行,数字代表需要合并后续的行数 -->
<ss:Cell ss:MergeDown="1">
<ss:Data ss:Type="String">第一列</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">第二列</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">第三列</ss:Data>
</ss:Cell>
</ss:Row>
<ss:Row>
<ss:Cell>
<ss:Data ss:Type="String">二行一列</ss:Data>
</ss:Cell>
<ss:Cell >
<ss:Data ss:Type="String" >二行二列</ss:Data>
</ss:Cell>
<!--<ss:Cell>
<ss:Data ss:Type="String">二行三列</ss:Data>
</ss:Cell>-->
</ss:Row>
<ss:Row ss:Height="25">
<ss:Cell >
<ss:Data ss:Type="String">三行一列</ss:Data>
</ss:Cell>
<!-- ss:MergeAcross="1"内容为合并列,数字代表需要合并后续的行数 -->
<ss:Cell ss:MergeAcross="1">
<ss:Data ss:Type="String">三行二列</ss:Data>
</ss:Cell>
</ss:Row>
</ss:Table>
</ss:Worksheet>
</ss:Workbook>
效果如下: