我正在使用 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