我希望将一些数据写入 CSV 文件。我输入信息的列之一是带有前导零的整数形式,例如:0000000013。

由于某种原因,Excel 将其“转换”为 13,而我必须将其设为 10 位数字 (0000000013)。谁能告诉我如何规避这个问题?

String value = "0000000013"; //I tried String.format("%8d", 13) doesn't work
printWriter.println(value);

谢谢!!!

有帮助吗?

解决方案

在行开始时添加单个报价,'。这通知Excel不会将值视为数字。

其他提示

将选项卡附加到数字

ex:“\ t”+“01234”

更好的方法是打印你的号码=“0000000013”

String value = "0000000013"; 
printWriter.println("=\"" + value + "\"");
.

当一个在Excel 2007中打开CSV文件时,它会打开“文本导入向导”。在步骤3中,您可以指定列的列数据格式为“文本”。只需在“数据预览”窗格中选择相应的列标题。然后在“列数据格式”窗格中选择“文本”单选按钮。

尝试:

String.format("%08d", 13)

请注意 0 在格式字符串中,它告诉 Java 在数字前面添加零,直到字段中指示的长度(在本例中为 8)。

您应该使用:

String.format("%08d", 13);
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top