You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在XML Spreadsheet 2003中添加Excel Table?格式合规性咨询

关于XML Spreadsheet 2003中添加Excel Table及格式名称的问题

一、如何在XML Spreadsheet 2003中添加类似Excel Table的表格

XML Spreadsheet 2003格式(即你参考的微软文档定义的规范)本身并不原生支持Excel 2007及以后版本引入的Excel Table(ListObject)——该格式是Excel早期的纯XML规范,发布时还没有Table功能。要实现类似附图的表格效果,只能通过模拟样式和基础功能来实现:

1. 定义单元格样式

通过<Style>标签定义表头、数据行的样式,包括填充色、字体、边框等:

<Styles>
  <!-- 表头样式 -->
  <Style ss:ID="HeaderStyle">
    <Font ss:Bold="1" ss:Color="#FFFFFF"/>
    <Interior ss:Color="#4F81BD" ss:Pattern="Solid"/>
    <Borders>
      <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
      <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
      <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
      <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
    </Borders>
  </Style>
  <!-- 数据行样式 -->
  <Style ss:ID="DataStyle">
    <Borders>
      <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
      <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
      <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
    </Borders>
  </Style>
  <!-- 交替行样式(可选,模拟Table的条纹效果) -->
  <Style ss:ID="AlternateDataStyle">
    <Interior ss:Color="#DCE6F1" ss:Pattern="Solid"/>
    <Borders>
      <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
      <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
      <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
    </Borders>
  </Style>
</Styles>

2. 应用样式并添加筛选功能

在<Table>标签内,给表头单元格绑定HeaderStyle,数据行交替应用DataStyle和AlternateDataStyle,同时通过<AutoFilter>开启表头的筛选功能:

<Table ss:ExpandedColumnCount="3" ss:ExpandedRowCount="4" x:FullColumns="1"
   x:FullRows="1" ss:DefaultRowHeight="15">
  <!-- 表头行 -->
  <Row>
    <Cell ss:StyleID="HeaderStyle"><Data ss:Type="String">姓名</Data></Cell>
    <Cell ss:StyleID="HeaderStyle"><Data ss:Type="String">部门</Data></Cell>
    <Cell ss:StyleID="HeaderStyle"><Data ss:Type="String">入职日期</Data></Cell>
  </Row>
  <!-- 开启表头筛选 -->
  <AutoFilter x:Range="R1C1:R1C3"/>
  <!-- 数据行 -->
  <Row>
    <Cell ss:StyleID="DataStyle"><Data ss:Type="String">张三</Data></Cell>
    <Cell ss:StyleID="DataStyle"><Data ss:Type="String">技术部</Data></Cell>
    <Cell ss:StyleID="DataStyle"><Data ss:Type="DateTime">2023-01-01T00:00:00</Data></Cell>
  </Row>
  <Row>
    <Cell ss:StyleID="AlternateDataStyle"><Data ss:Type="String">李四</Data></Cell>
    <Cell ss:StyleID="AlternateDataStyle"><Data ss:Type="String">市场部</Data></Cell>
    <Cell ss:StyleID="AlternateDataStyle"><Data ss:Type="DateTime">2023-02-15T00:00:00</Data></Cell>
  </Row>
</Table>

这种方式能实现和Excel Table类似的视觉效果及筛选功能,但无法支持Table的高级特性(比如结构化引用、自动扩展等)。如果需要完整的Excel Table功能,建议改用Office Open XML格式(.xlsx),该格式原生支持Table元素。

二、XML Spreadsheet格式是否为“XML Excel”文件的正确格式

是的,你参考的XML Spreadsheet 2003就是微软官方定义的早期“XML Excel”文件格式,对应文件后缀通常为.xml,是Excel 2002和2003版本支持的纯XML格式,用于替代二进制.xls格式。后续Excel 2007及以后版本引入了Office Open XML格式(.xlsx),功能更丰富,逐渐取代了XML Spreadsheet 2003格式,但后者仍然是合法的“XML Excel”文件规范。

内容的提问来源于stack exchange,提问作者Tom's

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 13:50:39