gpt4 book ai didi

java - 在 Excel 2007 中打开 CSV 文件时,任何列中的前导零都会丢失

转载 作者:行者123 更新时间:2023-11-30 04:59:23 25 4
gpt4 key购买 nike

我正在寻找一种在 Java 中导出到 CSV 文件时保留整数前导零的方法。以下是在 CSV 中生成前导零的示例。

public class TestLargeDataset {

int one_million = 1000000;

public void writeMillionRowsToCSVFile(String fqname) throws Exception {
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(fqname)));

byte[] newLine = "\n".getBytes();

for(int x = 0; x < one_million; x++) {
bos.write(("0" + x + ",").getBytes());
bos.write(("0" + (x+1) + ",").getBytes());
bos.write(("0" + (x+2) + ",").getBytes());
bos.write(("0" + (x+3)).getBytes());
bos.write(newLine);
}
bos.close();
}

/*
* Main.
*/
public static void main(String a[]) throws Exception {
TestLargeDataset tlr = new TestLargeDataset();

long startTime2 = System.nanoTime();
tlr.writeMillionRowsToCSVFile("C:\\output_" + System.currentTimeMillis() + ".csv");
long diff2 = (System.nanoTime() - startTime2)/1000000000;
tlr.log("Executed file write operation in " + diff2 + " seconds (~" + (diff2/60) + " minutes)");

tlr.getStatement().close();
tlr.getConnection().close();

tlr.log("Execution complete.");
}

}

当我在 Excel 2007 中打开输出文件时,我丢失了前导零。有没有办法保留这些零并在 Excel 中打开它们,而不将其转换为字符串?不将它们转换为字符串的原因是因为我需要对 Excel 中的这些值应用整数算术。

想法?

最佳答案

在另一个论坛上找到了这个解决方案,它对我有用。

附加双引号和制表符,问题将得到纠正。当数字中包含逗号 (,) 时,制表符可防止前导 zeors 截断和双引号分隔单元格。

字符串yourString =“002015”;

解决方案:

"\"\t"+yourString + "\"";

关于java - 在 Excel 2007 中打开 CSV 文件时,任何列中的前导零都会丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7437662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com