如何将 .xlsx 转换为 .txt?

如何将 .xlsx 转换为 .txt?

我想知道是否有可用的 Linux 工具或脚本将.xlsx文件转换为.txt.

答案1

转换附带的工具数值可以将 xlsx 文件转换为文本:

ssconvert Book1.xlsx file.csv

答案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

相关内容