以下代码从数据库中获取所有数据,并将其作为CSV格式写入SDCard。我的问题是当我在Excel中打开文件时,它以这种格式写入数据
示例
254868,2356489,4587963,787954,7895487,452369,4546545
但我希望结果如下:
254868
2356489
4587963
7879544
7895487
4523697
4546545
以下是代码
if (root.canWrite()){
File fileDir = new File(root.getAbsolutePath()+"/fun/");
fileDir.mkdirs();
File file= new File(fileDir, "itisfun.csv");
FileWriter filewriter = new FileWriter(file);
BufferedWriter out = new BufferedWriter(filewriter);
out.write( dbUser.getMeterNUmber2(dd,sp).toString()+"\n" );
//out.write( "\"" );
out.close();
}
} catch (IOException e) {
Log.e("ERROR:---", "Could not write file to SDCard" + e.getMessage());
}
答案 0 :(得分:1)
尝试
String[] div = dbUser.getMeterNUmber2(dd,sp).toString().split(',');
for (int i =0; i<div.length;i++)
out.write( div[i] +"\n" );
我假设
dbUser.getMeterNUmber2(dd,sp).toString()
返回
254868,2356489,4587963,787954,7895487,452369,4546545
答案 1 :(得分:0)
检查getMeterNUmber2函数是否在每条记录后写入逗号或换行符。如果使用逗号,那么excel是正确的,将它们全部放在一行中。如果你使用换行符,那么每行应该就像你想要的那样。