跳到正文

Excel 转 XML 在线转换

把 Excel 表格或 CSV 转成 XML,每行生成一个元素,列标题作为元素名或属性名;表格在你的浏览器中读取,不会离开设备。

转换为
把 JSON、CSV 或 Excel 文件拖到这里XML 最大 100 MB · JSON、CSV、XLSX、XLS、ODS 最大 500 MB
选择文件在你的设备上处理,不会上传
在浏览器中运行 · 无需上传工作原理

Excel 转 XML 使用方法

  1. 1

    拖入电子表格

    支持 XLSX、XLS、ODS,也可以是 CSV 文件。工作簿有多个工作表时,请选择需要的工作表。

  2. 2

    设置元素名称

    选择根元素、每一行对应的元素名称,以及列写为子元素还是属性。

  3. 3

    保存 XML

    检查输出内容,然后下载 .xml 文件或直接复制。

限制与 Pro

电子表格和 CSV 文件最大 500 MB;一次转换一个工作表。

文件最大 4 GB。 了解 Pro

关于 Excel 转 XML

Excel 转 XML 会把电子表格的行写成 XML:根元素内每行对应一个元素,列标题作为名称。例如一个包含 sku、name、price 三列的工作表,会变成 <rows><row><sku>A-1</sku><name>Pen</name><price>1.5</price></row>…</rows>;如果把列写为属性,则是 <row sku="A-1" name="Pen" price="1.5"/>。两个元素名称都可以修改,比如改成 products 和 product,以符合接收系统的要求。

列标题本身往往不是有效的 XML 名称,所以会自动修正:空格和标点变成下划线,以数字开头的标题前面加下划线,两列标题相同时分别写作 name 和 name_2。西里尔字母等非拉丁字母的标题在 XML 中是允许的,会原样保留。

数值按工作表中存储的内容写出,而不是显示的样子:写成 1200,而不是 $1,200.00;日期使用 ISO 8601 格式(2026-03-31,有时间时一并写出);公式写为最后一次计算的结果。空单元格会变成空元素,也可以选择省略,让记录更精简。特殊字符会被转义,文件为 UTF-8 编码,XML 声明可选。

CSV 文件的处理方式相同,分隔符和文本编码(UTF-8、Windows-1251 或 Windows-1252)可以自动检测,也可以手动选择。如果工作表没有表头,请关闭“第一行是表头”,此时各列会命名为 Column_1、Column_2,依此类推。每次只转换一个工作表。

隐私

工作簿或 CSV 由 SheetJS 在当前标签页的 worker 中读取,XML 也在其中生成;文件不会被上传,也不会被保留。

Excel 转 XML:常见问题

列标题如何变成 XML 标签?
每个标题会先修正为有效名称再作为元素名:“Unit price”变成 Unit_price,“2026 total”变成 _2026_total,重复的标题依次加 _2、_3。如果想保留原文,请先在表格中修改标题。没有表头行时,各列会命名为 Column_1、Column_2 等。
每一行可以写成带属性的单个元素吗?
可以。把“列写为”设为“属性”,每一行就会写成一个自闭合元素,例如 <row id="7" city="Bukhara"/>,许多导入格式和配置文件都采用这种写法。属性值中的引号和换行都会被转义,任何单元格的文本都可以放心使用。
日期和价格会按 Excel 中显示的样子写出吗?
不会,按存储的值写出。显示为 1 200,00 so'm 的价格会写成 1200;日期写成 ISO 格式 2026-03-31,也就是 XML Schema 中 xs:date 使用的格式。公式写为最后一次计算的值。如果需要显示的文本,请在转换前先把这些列设为文本格式。
会转换工作簿中的所有工作表吗?
每次只转换一个工作表。在“工作表”列表中选择需要的一个;要转换另一个,选中后重新下载即可,工作簿会一直保持加载状态。完全为空的行会被跳过,除非关闭相应选项,否则第一行有数据的内容会作为表头。
也可以把 CSV 转成 XML 吗?
可以。直接拖入 .csv 或 .tsv 文件即可,分隔符和编码会自动检测,你也可以在输入选项中手动更改;处理旧软件导出的西里尔字母内容时,选择 Windows-1251 会有帮助。各行写成 XML 的方式与工作表中的行完全一样。

此工具的其他用途