将选项卡打印到 csv 文件

Printing tab to a csv file

我想将制表符打印到 csv 文件,以便能够使用 java PrintWriter 用 excel 准确打开它,但它似乎没有将此字符打印到一份文件。 我打印如下:

PrintWriter pw = new Printwriter(new FileWriter(file));
pw.print(myvariable+"\t")

默认行为:

I just checked, if I change file extension from .csv to .xls it is opened appropriately in excell (data on different cells)... But I still do not understand the issue

.csv = comma separated value 所以如果你想使用 .csv 只需使用字符 , 而不是 \t.


告诉Excel您当前文件的分隔符

.csv 的第一行添加:sep=\t 这将告诉 excel 使用它作为分隔符。 (来源:https://superuser.com/a/420025/438867


代码示例可以在此处找到 github repo

更改所有 .csv 文本文件中的分隔符

根据support.office.com

在 Microsoft Windows 中,单击 开始 按钮,然后单击 控制面板

打开区域和语言选项对话框。

执行以下操作之一:

在 Windows Vista 中,单击 格式 选项卡,然后单击 自定义此格式

在 WindowsXP 中,单击 区域选项* 选项卡,然后单击 自定义

列表分隔符框中键入新的分隔符。

单击确定两次。

你在那里遇到问题似乎很奇怪,我建议你为此使用一个库而不是自己动手,这样你就不会 运行 陷入转义等问题

https://commons.apache.org/proper/commons-csv/

通过仅创建一个 FileWriter,您没有指定 Java 您希望写入文件的字符编码格式,因此它将成为机器的默认格式,代码为 运行ning on(所以你会在 Mac 上得到不同的行为 vs Linux vs Windows) - 这可能不是你想要的。