跳到正文

将Excel转换为CSV

把Excel或OpenDocument工作簿中的任意工作表转成干净的CSV文件——数值与Excel中显示的完全一致,或者输出原始数字和ISO日期,分隔符和编码都按您导入时的要求设置。

  • 绝不存储
  • 无需排队,无需等待
  • 无需注册,无水印

使用方法

1

添加工作簿

拖放.xlsx、.xls或.ods文件,每个工作表都会显示为一个标签页,并附带实时预览。

2

选择格式

逗号、分号或制表符;UTF-8,或带BOM的UTF-8(让Excel重新打开时正确显示重音字符);数值按显示内容或原始值输出。

3

下载

单个工作表下载为.csv文件,或把所有工作表一次性打包成ZIP下载。

CSV里实际包含什么

“与Excel中显示的一致”并不是去问Excel单元格长什么样——而是在这里用我们自己实现的Excel数字格式代码重新渲染,因为常用的库会把数百种实际使用中的格式处理错。例外情况是文件本身已经带有显示文本:OpenDocument工作表,或者网页应用命名为.xls的HTML表格,这时会直接使用其中存储的文本。无论哪种模式,日期都绝不会以序列号的形式输出。工具会读取工作簿自带的纪元标志,所以旧版Mac Excel写出的文件会平移所需的1462天;Excel认为存在的那一天——1900年2月29日——也会在应有的位置被准确还原,而不会让之后的所有日期都错位一天。

在把文件交给其他程序之前,有三项默认设置值得检查。分隔符初始值取决于您浏览器的区域设置,所以设为逗号小数点的电脑会默认给您分号。除非另行选择,行尾使用回车加换行,且最后一行之后总有一个换行。引号采用最少原则——只有字段中包含分隔符、引号、换行或首尾空格时才加引号——但有一个特例:内容为“sep=”的第一个单元格会被加上引号,以免Excel把您的数据误当作分隔符指令。

合并单元格有两种处理方式,默认的是更安静的那种:只有合并区域左上角的单元格带有值,其余输出为空。无论选择哪种模式,布尔值都写为TRUE和FALSE,含错误的单元格则输出其错误文本。以等号开头的单元格不会做任何防护处理。这里生成的CSV会原样复现工作簿中的文本,所以如果工作表来源不可信,对于下一个打开该文件的程序来说,公式依然是公式——这是CSV本身的特性,而非本工具的问题,也是先用查看器打开来路不明的导出文件的理由。

如果您需要的是别的

工作簿会被完整读取,文件上限为200 MB,如果压缩内容声称解压后超过2 GB也会停止。超出这个范围,或者需要定时执行的任务,应该使用桌面工具而不是网页:无界面模式的LibreOffice 一条命令就能把工作表转成CSV。如果要从上百兆的导出文件中提取一列而不加载其余内容,qsv 和 Miller 能以流式方式读写CSV。

如果目的地是数据库或数据管道而不是人,请先想一想CSV是否是合适的目标格式。CSV无法记录自己的分隔符、小数点和编码,这就是为什么每次导入CSV都要先回答三个本不该由人回答的问题。Parquet能保留类型,JSON Lines能保留结构,而且两者都能被DuckDB、pandas以及其他本来就要加载您CSV的工具直接读取。

常见问题

我的电子表格会被存储吗?

不会。工作簿绝不会被存储,也不会发送到任何地方——这对工资表、客户名单以及其他您不愿交给网站的数据来说很重要。

有多个工作表时会怎样?

一个CSV文件只能容纳一张表,所以每个工作表都会生成单独的CSV。选择您需要的工作表,或把全部工作表打包成ZIP一起下载。隐藏的工作表也会列出,并标注为隐藏。

日期和数字会和Excel中显示的一样吗?

“与Excel中显示的一致”会原样写出Excel显示的文本——15/03/2024、1,234.50、12%——这与Excel自带的“另存为CSV”效果相同。“原始数字,ISO日期”则写出纯数字和ISO 8601日期(如2024-03-15),数据库和程序读取时无需猜测。

为什么用Excel打开CSV时出现乱码?

除非文件开头带有字节顺序标记(BOM),否则Excel会按您电脑旧的区域编码读取CSV。选择“UTF-8(带BOM,适用于Excel)”,重音字符、西里尔字母、阿拉伯文、中文和表情符号就都能正确显示。用于数据库和编程时,普通UTF-8是更好的选择。

用逗号还是分号?

在用逗号表示小数点的国家——欧洲大部分地区和南美洲——Excel要求字段之间用分号分隔。这些地区请选择分号,其他地区选择逗号;如果数据里两者都很多,就选择制表符。

公式、合并单元格和隐藏行怎么处理?

公式会写出其计算结果。合并单元格的值保留在第一个单元格中,也可以选择重复填入合并区域的每个单元格。隐藏的行和列默认包含在内,除非您选择排除它们。

小贴士: CSV只存储数值——单元格格式、公式、图表和图片都不属于这种格式。受密码保护的工作簿需要先移除密码。

把这个工具放到您的网站上

博客、课程页面或帮助文章均可免费使用。粘贴一段代码,访客就能直接在您的页面上使用。