从SQlite导出数据到excel

时间:2017-09-17 12:01:59

标签: android sqlite

好吧我们已经看过很多关于这个主题的问题,没有一个答案对我有用,我设法在这个answer的帮助下在外部存储中创建了csv文件,试图转换它但是它是否已损坏或格式正确

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();
    }

2 个答案:

答案 0 :(得分:0)

执行此操作的最佳方法是使用JXL API https://1drv.ms/f/s!AvOuIgzBSUHMicNEvKEYfkiqnfW2IQ

从这里下载。

您将获得该文件夹中的教程和文档。 唯一的设置是,这可以创建XLS文件而不是XLSX文件。但我想这不会导致很多问题。

答案 1 :(得分:0)

我在你的for循环中看到了一个问题。它应该是这样的:

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