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 はそれらをすべて 1 行の列に配置するのに適しています。改行を使用する場合は、必要に応じて各行に改行する必要があります。

于 2013-01-24T21:20:48.540 に答える