开发者工具

CSV / Excel 互转

将 CSV 文件转换为 Excel(.xlsx),或将 Excel 文件转换为 CSV。所有处理均在浏览器中完成,文件不会上传至服务器。


[[ error ]]
[[ labels.status_done ]]

使用提示

  • Excel → CSV 转换时输出带有 UTF-8 BOM,在 Windows Excel 中打开不会出现乱码。
  • 如果 Excel 文件有多个工作表,将显示下拉菜单供您选择要导出的工作表。
  • 所有文件处理均在浏览器内完成,不会上传至任何服务器,敏感数据也可放心使用。
  • CSV → Excel 转换后,Excel 可能自动转换某些值(例如"1-2"变为日期)。这是 Excel 的行为,非转换错误。

常见问题

Excel → CSV 转换时,若文件包含多个工作表,将显示下拉选择框。仅所选工作表的内容会被导出为 CSV。

输出 CSV 使用 UTF-8(带 BOM),确保在 Windows Excel 中打开时不出现乱码。

取决于浏览器的可用内存。数十 MB 以内的文件通常可正常转换,超大文件可能导致浏览器无响应。

闲话 ― 为什么 Excel 会破坏 CSV 文件

Excel 自动将字符串转换为日期的问题长期困扰着全球数据工程师。例如 1-23/4 会被解读为日期且难以还原。微软早在 2010 年代就收到了反馈,但由于向后兼容性问题难以根本修复,直到 2021 年的更新才允许用户在导入时指定列类型。

该问题在基因组学研究中造成了最严重的后果。2004 年的研究发现,已发表论文中约 20% 的基因名称列表因 Excel 自动转换而损坏。例如基因名 SEPT2(Septin-2)会被转换为 2-Sep(9 月 2 日)。为此,HUGO 基因命名委员会于 2020 年采取了重命名受影响基因的非常措施。

CSV 与 Excel 互转时最需注意的是字符编码。日语 Windows 上的 Excel 以 Shift-JIS 保存 CSV,而 Google 表格和 Mac 上的 Excel 使用 UTF-8。本工具在 Excel → CSV 转换时输出带 BOM 的 UTF-8,可在 Windows Excel 中正常打开。