Java 使用Excel打开带前导零的csv,无需剥离

Java 使用Excel打开带前导零的csv,无需剥离,java,excel,csv,Java,Excel,Csv,我正在创建一个包含数据的csv文件,但在使用Excel MS打开该文件时,所有前导零都被删除。我应该在csv文件中写入什么来防止这种情况发生 我的部分代码 for (int i=0; i < rows.size(); i++) { Object[] row = (Object[]) rows.get(i); bufferedWriter.write(row[0]); bufferedWriter.write(";" + row[1]); buffer

我正在创建一个包含数据的csv文件,但在使用Excel MS打开该文件时,所有前导零都被删除。我应该在csv文件中写入什么来防止这种情况发生

我的部分代码

for (int i=0; i < rows.size(); i++) {
    Object[] row = (Object[]) rows.get(i);
    bufferedWriter.write(row[0]);   
    bufferedWriter.write(";" + row[1]); 
    bufferedWriter.write(";" + row[2]); 
    bufferedWriter.write(";" + row[3]); 
    bufferedWriter.write(";" + row[4]);     
            if(row[4].startsWith("0")){
               //I want to add something here tp prevent that to happen.
            }
    bufferedWriter.write(";" + row[5]); 
    bufferedWriter.write(";" + row[6]);
    try { bufferedWriter.write(";" + DF.format(row[7])); }  
    catch (Exception ex) { bufferedWriter.write(";0"); }
    try { bufferedWriter.write(";" + DF.format(Double.parseDouble(row[8]))); }  
    catch (Exception ex) { bufferedWriter.write(";0"); }
    String text = (row[9] != null) ? row[9].replace(';', ',') : "";
    bufferedWriter.write(";" + text); 
    bufferedWriter.writeLine(";" + row[10]); 
}
for(int i=0;i
这不是一个完整的答案,但我不认为这一定是一个Java问题,至少不是完全的问题。假设您将字符串数据写入包含所需前导零的CSV文件,则当您将此数据导入Excel时,所有这些信息仍应存在


有关如何在导入CSV时保留前导零的许多方法,请参阅。您可以做一些简单的事情,比如将相关列格式化为固定宽度的文本。

因此,如果我以这种方式添加它,它对我很有用

"\"\t"+ row[4] + "\"\t";

这应该保留前导零:

价值1="001234";价值3

请注意,如果没有
=
,该字段将被处理为可能包含分隔符的带引号的字段(而不是字符串)