我想知道是否有可用的 Linux 工具或脚本将.xlsx
文件转换为.txt
.
答案1
答案2
另一种方法是将其重命名为 .zip 并解压,因为所有 .***x 文件都只是包含 xml 的压缩文件夹。在里面你会发现一个文件夹“xl”,里面有一个子文件夹“worksheets”,里面是每个工作表的 xml 文件。它们的格式非常简单,应该很容易用任何 xml 包进行解析。
答案3
如果它只是文本/数字数据(我必须假设它是,否则文本文件会有点雄心勃勃),那么你可以尝试转为csv从电子表格生成 CSV 文件。
我不能保证它的有效性,但值得一试。
答案4
不是 shell 脚本(与 Andy 于 2010 年 10 月 20 日 8:44 发表的帖子中提到的脚本不同),而是 python 脚本:
同名,转为csv
但是这会将日期值导出为浮点数:
2012/07/01 => 41091,
“2012/07/01 01:00:00” => 41091.0416666667
xlsx2csv.py --help
Usage: xlsx2csv.py [options] infile [outfile]
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-s SHEETID, --sheet=SHEETID
sheet no to convert (0 for all sheets)
-d DELIMITER, --delimiter=DELIMITER
delimiter - csv columns delimiter, 'tab' or 'x09' for
tab (comma is default)
-p SHEETDELIMITER, --sheetdelimiter=SHEETDELIMITER
sheets delimiter used to separate sheets, pass '' if
you don't want delimiters (default '--------')
-f DATEFORMAT, --dateformat=DATEFORMAT
override date/time format (ex. %Y/%m/%d)
-i, --ignoreempty skip empty lines
-r, --recursive convert recursively