跳到正文

Excel 转 CSV

Excel to CSV

把 .xlsx 或 .xls 工作簿的每一个工作表按你选定的编码和分隔符导出成 CSV。

Excel 自带的“另存为 CSV”导出的是屏幕上显示的文字,并且用的是系统代码页——于是 1,234.50 进了数据库变成字符串,中文到了对方那里变成乱码。这个工具可以按你的需要导出单元格的实际值,编码由你选,所有工作表一次导完。

🔒 完全在你的浏览器里运行excelcsvconvertspreadsheet

把 .xlsx、.xlsm 或 .ods 文件拖进来

由 worker 在这个标签页里读取。不上传,在你按下载之前也不会往磁盘里写东西。

能读 .xlsx、.xlsm 和 .ods。老的二进制 .xls 是完全不同的格式——先用 Excel 或 LibreOffice 打开,另存为 .xlsx 再来。你要是拖了个 .xls 进来,这个页面会告诉你。

怎么用

  1. 选择导出显示文字还是实际值

    “按显示”会把工作表原样再现,数字格式一并保留,适合给人看。“实际值”导出 ISO 日期和不带格式的数字,适合导入别的系统。

  2. 有意识地选编码

    要在 Excel 里打开就选带 BOM 的 UTF-8;给脚本和数据库用就选不带 BOM 的 UTF-8;EUC-KR(韩文编码)只给完全不接受 UTF-8 的系统用。这里没有 GBK 选项。

  3. 公式中和保持开启

    文本以 = 或 + 开头的单元格,在电子表格里打开 CSV 时会被当作公式执行。前面加一个制表符就能让它保持为文本。

  4. 拿一个工作表,或者整个 zip

    拖进来的每个工作簿的每个工作表都会进同一个 zip,按文件分文件夹——这件事 Excel 不写宏根本做不到。

常见问题

为什么我的中文在 Excel 里是乱码?

Windows 上的 Excel 会把没有 BOM 的 UTF-8 文件按系统代码页读,中文 Windows 上就是 GBK/GB18030。只有 BOM 能告诉它不是这样,所以这里默认就是“带 BOM 的 UTF-8”。

它打不开我的 .xls。

老的二进制 .xls 完全是另一种格式——复合文档,而不是装着 XML 的 ZIP。先在 Excel 或 LibreOffice 里打开并另存为 .xlsx;你拖进来一个 .xls 时页面也会这么提示。

分隔符该用哪个?

几乎所有场合都用逗号。小数点是逗号的地区用分号,那些地区的 Excel 写出来的就是分号。如果文件是要粘贴进电子表格而不是导入,就用制表符。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。