2017-09-17 88 views
0

好傢伙我已經查看了很多關於這個主題的問題,沒有答案爲我工作,我設法在這個answer的幫助下在外部存儲中創建csv文件,試圖將其轉換但它是在正確的格式從SQlite導出數據到excel

ArrayList<AttendRegisterObject> list ; 
    MyDBHelper db = new MyDBHelper(getApplicationContext()); 
    list = db.ReportGetter(); 
    File exportDir = new File(Environment.getExternalStorageDirectory(), ""); 
    if (!exportDir.exists()) { 
     exportDir.mkdirs(); 
    } 

    File file = new File(exportDir, "mdf.csv"); 

    try { 
     file.createNewFile(); 
     CSVWriter csvWrite = new CSVWriter(new FileWriter(file)); 
     for (int index = 0; index < list.size();) { 
      String arrStr[] = {String.valueOf(list.get(0))}; 
      csvWrite.writeNext(arrStr); 

     } 
     csvWrite.close();   

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

回答

0

損壞或不能做到這一點,最好的辦法是使用JXL API https://1drv.ms/f/s!AvOuIgzBSUHMicNEvKEYfkiqnfW2IQ

下載該從這裏開始。

您將獲得教程和文件夾內的文檔。 唯一的缺點是可以創建XLS文件而不是XLSX文件。但我想這不會造成很多問題。

0

我在for循環中看到一個問題。它應該是這樣的:

for (int index = 0; index < list.size(); index++) { 
    String arrStr[] = {String.valueOf(list.get(index))}; 
    csvWrite.writeNext(arrStr); 
}