0

以下代码从数据库中获取所有数据并将其以 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());  
                }
4

2 回答 2

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
于 2013-01-24T21:20:21.660 回答
0

检查 getMeterNUMber2 函数是否在每条记录后写入逗号或换行符。如果您使用逗号,那么 excel 将它们全部放在一行中是正确的。如果你使用换行符,那么每一行都应该有你想要的。

于 2013-01-24T21:20:48.540 回答