如何从命令行将其中包含 html 标记的 .xls 文件转换为带分隔符的 .csv

How to convert .xls file which has html tags in it to delimited .csv from command line

我们需要从 jira 门户下载导出并将此信息插入 table 以进行某些报告。现在的挑战是,从 jira 下载的文件的扩展名为 .xlx,并且包含所有 html 链接。当我通过命令行使用 xls2csv(catdoc 软件)和其他转换器工具时,它们无法识别文件格式并且无法转换。我需要将此文件转换为带有分隔符的 .csv 文件,这样我就可以使用 sql 加载程序将其加载到 table。

如果您的系统上安装了 libreoffice,运行在 bash 终端上输入以下代码(作为普通用户,而不是 root - 请参阅原因 here) 可能对您有帮助:

libreoffice --invisible --convert-to csv my_file.xls

如果您需要此代码在 运行 为 root 的脚本上 运行,仍然可以(安全地)运行 此命令如果您 运行 它是 "normal" 用户而不是 root,例如:

su - myuser -c 'libreoffice --invisible --convert-to csv my_file.xls'

要找出谁是 user 谁应该使用 运行 上面的命令,最好的选择之一是使用 logname 命令,例如:

myuser="$(logname 2>/dev/null)"