Linux下将Excel转CSV推荐用ssconvert或in2csv:ssconvert属gnumeric工具,兼容xls/xlsx,支持指定工作表和编码;in2csv属csvkit,适合Python环境,可列sheet名、选表转换;二者均轻量可靠,避免LibreOffice headless或重命名等错误方式。

Linux 下把 Excel 转成 CSV,核心是用命令行工具处理 .xlsx 或 .xls 文件。原生 Linux 不支持直接双击打开 Excel,但有成熟、轻量、可脚本化的方案,无需图形界面或 Office 套件。
先用 file 命令查看文件真实类型:
file data.xlsx
输出类似 "data.xlsx: Zip archive data..." 表示是 .xlsx(Office 2007+);若显示 "Composite Document File V2 Document" 则是旧版 .xls。
注意:CSV 是纯文本,不保留公式、合并单元格、颜色、多张 sheet。转换前建议手动确认源文件只有一张有效工作表,且无复杂格式干扰数据结构。
ssconvert 是 gnumeric 工具包里的命令行转换器,对 Excel 兼容性好,支持 .xls/.xlsx,能自动识别编码和分隔符。
安装(Ubuntu/Debian):
sudo apt install gnumeric
CentOS/RHEL:
sudo yum install gnumeric 或 sudo dnf install gnumeric
转换命令(默认 UTF-8,逗号分隔):
ssconvert input.xlsx output.csv
常用选项:
来自 csvkit 工具集,依赖 Python,对 .xlsx 支持良好,输出规范,适合后续管道处理。
安装:
pip3 install csvkit
基本转换:
in2csv input.xlsx > output.csv
小技巧:
别用 LibreOffice headless 模式(soffice --headless)——虽可行但启动慢、依赖大、容易卡住,不适合批量或自动化场景。
别用简单重命名(.xlsx → .csv)——那是无效操作,CSV 不是 Excel 的“换后缀”格式。
中文乱码?大概率是源 Excel 用了 GBK 编码但工具按 UTF-8 解析。可用 ssconvert 的 csv_utf8 导出类型,或用 iconv 二次转码:
in2csv input.xlsx | iconv -f gbk -t utf-8 > output.csv
基本上就这些。ssconvert 适合大多数情况,in2csv 适合已装 Python 的环境。两者都命令简洁、结果可靠,一条命令搞定,不用开 GUI,也方便写进脚本批量处理。
以上就是Linux 怎么把 Excel 转成 CSV?完整流程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号