Linux 命令行处理 Excel 文件需借助第三方工具:1. 用 in2csv(属 CSVKit)将 xlsx 转 CSV 并支持指定 sheet;2. 用 pandas 编写 Python 脚本实现灵活读写与分析。

Linux 本身不原生支持 Excel 文件,但通过一些工具可以在命令行读取和处理 xlsx 文件。下面介绍几种实用方案,适合在服务器或无图形界面环境下使用。
1. 使用 in2csv(CSVKit 工具集)
CSVKit 是一套处理表格数据的命令行工具,其中 in2csv 可直接读取 xlsx 并转为 CSV 输出,方便后续用 awk、grep 等处理。
安装方法(需 Python 和 pip):
pip install csvkit使用示例:
in2csv data.xlsx # 输出整个文件内容(默认第一个 sheet)in2csv data.xlsx -s Sheet2 # 指定 sheet 名称
in2csv data.xlsx > output.csv # 保存为 CSV 文件
之后可以用 csvlook 美化输出,或用 csvgrep 过滤行。
2. 使用 pandas + Python 脚本
如果你熟悉 Python,pandas 是处理 Excel 最强大的工具之一,配合 引擎可读写 xlsx。
安装依赖:
pip install pandas openpyxl简单脚本读取 xlsx:
import pandas as pddf = pd.read_excel('data.xlsx', sheet_name='Sheet1')
print(df.head())
你可以将结果输出为 CSV、筛选列、统计数值,再集成到 shell 脚本中。
3. 使用 xlsx2csv 工具
xlsx2csv 是一个轻量命令行工具,专为将 xlsx 转为 CSV 设计,速度快,适合批量处理。
安装:
pip install xlsx2csv使用方式:
xlsx2csv data.xlsx output.csv # 转整个文件xlsx2csv -s 1 data.xlsx sheet1.csv # 只转第一个 sheet
转换后可用标准 Linux 命令处理:sort、cut、uniq 等。
4. 使用 gnumeric 的 ssconvert(适合离线环境)
Gnumeric 是一个开源电子表格程序,其命令行工具 ssconvert 支持多种格式互转。
安装(Debian/Ubuntu):
sudo apt install gnumeric转换 xlsx 到 CSV:
ssconvert data.xlsx data.csvssconvert --sheet=2 data.xlsx sheet2.csv
支持批量转换和多种输出格式(如 ods、pdf),适合自动化任务。
基本上就这些常用方法。选择哪个取决于你的环境和需求:轻量转换用 xlsx2csv 或 ssconvert,复杂分析用 pandas,快速查看用 CSVKit。都不复杂,但容易忽略编码和 sheet 名称问题,处理前建议先确认文件结构。










