在 Linux 命令行上将 CSV 文件转换为 XLS 文件?

在 Linux 命令行上将 CSV 文件转换为 XLS 文件?

我正在使用 Debian Linux,我想将 CSV 文件转换为 Excel XLS 电子表格文件。卡特多克软件包包含xls2csv从 XLS 转换为 CSV 的命令。但是它不能执行相反的操作。

由于我只有一个 CSV 文件,所以我不关心格式或类似的东西。如果它只生成一个非常简单的 XLS 文件,并且不支持花哨的新版本,我并不担心。只要它是一个 XLS 电子表格就行。

答案1

尝试使用ssconvert“gnumeric”包中的工具。在 Debian 上,使用以下sudo apt-get install gnumeric命令安装该包,然后从命令行运行:

ssconvert file.csv file.xls

这应该可以完成工作。

答案2

你为什么要这么做?由于你不想添加或修改数据/元数据,你可以将其保留为 csv。默认情况下,CSV 与 MS Excel 相关联,因此无论谁打开它,都会在 MS Excel 中打开它。

如果由于某种原因这对您不起作用,请记住,据我所知,您可以使用以下框架生成(某种)有效的 xls 文件:

<table>
<tr>
  <td>field0</td>
  <td>field1</td>
  ..
  <td>fieldX</td>
</tr>
... ad inf
</table>

(我是认真的)

答案3

有一个Sourceforge 上基于 Python 的解决方案名为 csv2xls 的程序可能符合要求。

它目前似乎没有得到维护(最后一次活动是在一年多以前)但如果它能满足您的需要那么这应该不会有太大问题。

答案4

CSV 和任何格式的 XLS 甚至 openOffice 的过滤器确实存在一些问题。例如:记录分隔符:,行终止符:\n 或;字符串定义:“或类似内容。

如果我理解正确的话,您需要在命令行中使用一些脚本来执行此操作。这正是我现在遇到的问题:从 csv 格式的数据,以 XLS 格式呈现给客户。

我找到了这个帖子:https://forum.openoffice.org/en/forum/viewtopic.php?f=5&t=39844

但我并不完全满意。它们可能是一个选择。

事实上,如果您安装了某种 openOffice,您可以尝试使用以下信息: http://ask.libreoffice.org/en/question/2641/convert-to-command-line-parameter/

我在 shell 上输入:

soffice --help

部分输出如下:

--convert-to output_file_extension[:output_filter_name] [-outdir ouput_dir] files
      Batch convert files.
      If -outdir is not specified then current working dir is used as output_dir.
      Eg. -convert-to pdf *.doc
          -convert-to pdf:writer_pdf_Export -outdir /home/user *.doc

相关内容