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

Ama*_*rus 4 linux command-line-interface microsoft-excel convert csv

我正在使用 Debian Linux,我想将 CSV 文件转换为 Excel XLS 电子表格文件。所述catdoc包包括xls2csv命令转换从XLS到CSV。然而,它不会做相反的事情。

因为我只有一个 CSV 文件,所以我不在乎格式或类似的东西。我不担心它是否只生成一个非常简单的 XLS 文件,并且不支持花哨的新版本。只要它是一个 XLS 电子表格。

小智 12

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

ssconvert file.csv file.xls
Run Code Online (Sandbox Code Playgroud)

这应该可以完成工作。

  • ssconvert 不会将您的数据保持在与输入相同的状态,因此不是应该使用的实用程序,除非您_绝对_确定所有字段都被引用等。例如:值为 0330 的字段将是转换为“330”。 (3认同)

shy*_*ent 9

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

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

<table>
<tr>
  <td>field0</td>
  <td>field1</td>
  ..
  <td>fieldX</td>
</tr>
... ad inf
</table>
Run Code Online (Sandbox Code Playgroud)

(我是认真的)

  • +1 表示认真 - 是的! (3认同)
  • 您不想这样做,因为 Excel 在解释和格式化 CSV 文件方面很糟糕。例如,它会自动将数字文本解释为整数,即使它被引用或 30 个字符长,导致它以科学计数法呈现。 (2认同)

Dil*_*ave 6

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

目前似乎没有维护它(上次活动是一年多前),但如果它满足您的需求,那么这应该没什么太大关系。