CSV 转 Excel 转换

将 CSV/TSV 文件转换为 Excel(.xlsx)格式。文件完全在浏览器内处理,不会上传至服务器。

使用提示

  • 生成的 Excel 文件的工作表名称固定为“Sheet1”。如需拆分为多个工作表,请在下载后于 Excel 中手动调整。
  • 如果原始 CSV 文件使用的是 UTF-8 以外的编码(例如 Shift-JIS),转换后的文字可能会出现乱码。建议先将文件重新保存为 UTF-8 编码后再进行转换。
  • 转换后,Excel 可能会自动将单元格内容识别为数字或日期(例如“1-2”会被转换为日期)。如果某些列(如邮政编码或商品编码)需要保留前导零,请在转换后于 Excel 中将该列的格式设置为“文本”。
  • 文件内容完全在浏览器(客户端)中处理,不会上传至服务器,因此可以放心处理敏感数据。

常见问题

输出格式为兼容 Excel 2007 及以上版本的“.xlsx”格式(Office Open XML)。不支持旧版“.xls”格式(Excel 97-2003)。

这并非本工具的缺陷,而是 Excel 本身在每次打开文件时都会自动推断单元格类型(数字、日期等)所致。如需保留前导零,请在转换后于 Excel 中将相应列的格式设置为“文本”。

这取决于浏览器的内存限制,但通常几十 MB 左右的文件都能顺利转换。文件过大可能会导致浏览器运行变慢。

可以。我们另外提供了专门用于反方向转换(Excel 转 CSV)的工具。如果您想将现有的 Excel 文件转换为 CSV,请使用该工具。
ツールくん

闲话 ― 为什么 Excel 会“破坏”CSV 的内容

Excel 在打开 CSV 文件时会“擅自”将内容转换为日期,这一问题多年来一直困扰着全世界的数据工程师。例如“1-2”或“3/4”这样的字符串会被自动识别为日期,且很难恢复为原始文本。这一问题自 2010 年代起就已被反馈给 Microsoft,但出于向后兼容性的考虑难以从根本上修复,直到 2021 年的更新才终于加入了“导入时可指定列类型”的功能。

这一问题在基因研究领域造成的影响最为严重。根据 2004 年的一项研究,学术论文中公开的基因名称列表约有 20% 因 Excel 的自动转换而遭到破坏。例如基因名“SEPT2”(Septin-2)会被转换为“2-Sep”(9月2日)。为此,人类基因组命名委员会(HGNC)在 2020 年采取了罕见的应对措施,将容易受到影响的基因重新命名。

如今作为 Excel 文件使用的“.xlsx”格式,实际上是由多个 XML 文件经 ZIP 压缩而成的集合(Office Open XML,即 OOXML)。这一格式自 2007 版 Office 起被采用,与此前的专有二进制格式“.xls”相比,其规范是公开的,因此其他软件也更容易对其进行读写。本工具所使用的 SheetJS 等开源库之所以能够在未安装 Excel 的环境下生成 .xlsx 文件,很大程度上正是因为 OOXML 是一种公开规范。