Android如何将SQLite数据库中的数据导出为csv格式的文件 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Android如何将SQLite数据库中的数据导出为csv格式的文件

搜到了下边这个方法,但是我没实现功能,请各位指教。最好能有代码

 public void ExportToCSV(Cursor c, String fileName) {
    int rowCount = 0;
    int colCount = 0;
    FileWriter fw;
    BufferedWriter bfw;
    File sdCardDir = Environment.getExternalStorageDirectory();
    File saveFile = new File(sdCardDir, fileName);

    try {

        rowCount = c.getCount();
        colCount = c.getColumnCount();
        fw = new FileWriter(saveFile);
        bfw = new BufferedWriter(fw);
        if (rowCount > 0) {
            c.moveToFirst();
            // 写入表头
            for (int i = 0; i < colCount; i++) {
                if (i != colCount - 1)
                   bfw.write(c.getColumnName(i) + ',');
                else
                   bfw.write(c.getColumnName(i));
            }
            // 写好表头后换行
            bfw.newLine();
            // 写入数据
            for (int i = 0; i < rowCount; i++) {
                c.moveToPosition(i);
                // Toast.makeText(mContext, "正在导出第"+(i+1)+"条",
                // Toast.LENGTH_SHORT).show();
                Log.v("导出数据", "正在导出第" + (i + 1) + "条");
                for (int j = 0; j < colCount; j++) {
                    if (j != colCount - 1)
                        bfw.write(c.getString(j) + ',');
                    else
                       bfw.write(c.getString(j));
                }
                // 写好每条记录后换行
                bfw.newLine();
            }
        }
        // 将缓存数据写入文件
        bfw.flush();
        // 释放缓存
        bfw.close();
        // Toast.makeText(mContext, "导出完毕!", Toast.LENGTH_SHORT).show();
        Log.d("导出数据", "导出完毕!");
        Toast.makeText(SecondActivity.this, "默认Toast样式",
                 Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally {
        c.close();
    }
}

展开
收起
爵霸 2016-06-07 10:18:24 1907 0
1 条回答
写回答
取消 提交回答
  • 爵霸

    csv格式就是回车分割记录行,逗号分隔字段,如果数据有逗号,需要加上引号。
    你说的这代码什么问题?基本思路差不多,你自己对照完善下。

    2019-07-17 19:29:30
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
Android组件化实现
立即下载
蚂蚁聚宝Android秒级编译—— Freeline
立即下载
Android插件化:从入门到放弃
立即下载