how to write to csv with a leading zero?

懵懂的女人 提交于 2019-11-28 10:44:32

问题


I wish to write to a CSV file some data. One of the column that I input the information is in the form of an integer with leading zeros, example: 0000000013.

For some reason, excel 'converts' it to 13, and I must have it with 10 digits (0000000013). Can anyone tell how this can be circumvented?

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

Thanks!!!


回答1:


Add a single quote, ', at the start of the line. This informs Excel to not treat the value as a number.




回答2:


Append tab to the number

ex: "\t"+"01234"




回答3:


Even better way is to print your number as ="0000000013"

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



回答4:


When one opens a CSV file in excel 2007, it opens the Text Import Wizard. In step 3, you can specify the column data format of the column to be 'Text'. Just select the appropriate column header in the 'Data preview' pane. Then select the 'Text' radio button in the 'Column data format' pane.




回答5:


Try:

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

Note the 0 in the format string, that tells Java to prefix the number with zeroes up to the length indicated in the field (8 in this case).




回答6:


You should use:

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


来源:https://stackoverflow.com/questions/9502226/how-to-write-to-csv-with-a-leading-zero

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!