2013-01-24 87 views
0

以下代碼將從數據庫獲取所有數據並將其作爲CSV格式寫入SDCard。我的問題是,當我在Excel中打開該文件寫數據以這種格式在excel上顯示csv文件

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

我沒有看到任何格式的代碼,它會在每個數字後輸入換行符'\ n'。從我所看到的,您提出的代碼將一個變量轉儲到文件。你的代碼中是否有其他地方可以在每個數字之後添加'\ n'? – Kitet

回答

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 
+0

Thanx它工作正常。你能幫助我嗎?它可以顯示這些數字,並且旁邊顯示數據庫中具有名稱的下一列。 – CoT

+0

所以你需要改變數據庫查詢,返回一些東西。號碼,名稱\ n –

+0

另一種不利的方式是通過將<,name>附加到csv中每行的末尾。 –

0

檢查在getMeterNUmber2功能是否每條記錄後寫入逗號或換行。如果你使用逗號,那麼excel是正確的,可以將它們全部放在一行中,列中。如果你使用換行符,那麼應該像你想要的那樣放在每一行中。