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

问题描述

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

解决方案

数据库文件导出csv格式
将csv数据文件导入到sqlite数据库中
Android将SQLite数据表导出到csv格式文件 .

解决方案二:

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

时间: 2025-01-02 08:26:11

sqlite-Android如何将SQLite数据库中的数据导出为csv格式的文件的相关文章

c#-怎么用C#将数据库中的数据导出到txt中

问题描述 怎么用C#将数据库中的数据导出到txt中 我现在在sqlsever中有一个叫Phone的表,现在要用C#把它里面的数据导入到一个txt中. 求各位大大,给段代码让小弟学习一下~ 解决方案 http://www.jb51.net/article/35989.htm 解决方案二: C# 读取数据库,应该是没有什么问题的.具体要看你的数据库是什么! 将读到的数据写入文件,这个比较简单.只要注意写入的格式控制. 代码,要靠你自己写.只能给你思路! 解决方案三: 参考C#中从数据库导出至txt

sqlite数据导出为csv格式19位数字是科学计数法怎么解决

问题描述 sqlite数据导出为csv格式19位数字是科学计数法怎么解决 如题,用sqlite存储了很多数据,写了个程序导出数据,学号为19位的数字,导出时就会出现科学计数法,请问这个问题该怎么解决 解决方案 你把csv用wxcel查看的?如果是,你把那一列拓宽点看看.就会还原成原来数字

求C#代码!!关于从Excel表中将数据导入Access数据库,以及Access数据库中的数据导出到Excel表的代码。急!!!晚上就得交差啊

问题描述 我需要从Excel表中将数据导入Access数据库,以及Access数据库中的数据导出到Excel表的代码,越具体越好!!望各位高手能不吝赐教 解决方案 解决方案二:不会吧?难道世间真的是如此残忍?为什么没人理我啊?高手们,算小弟我求你们了!难道是分不够多吗?初出江湖实在是身无分文啊----就不要太在意这个了,好不好啊?给我写写吧,万分感谢了!!解决方案三:这里是利用officeapplication方式来操作excel的http://blog.csdn.net/fangxinggoo

如何把数据库里的数据导出成excel格式?

问题描述 大家好!请问高手如何把数据库里的数据导出成excel格式(用asp.net实现)谢谢! 解决方案 解决方案二:mark~解决方案三:网上有相关的例子,很多哦!解决方案四:1.gridview显示数据库的所需数据2.gridview导出excel下面是button事件中的代码protectedvoidBtn_ExportClick(objectsender,EventArgse){Response.ClearContent();Response.AddHeader("content-di

将GridView中的数据导出为EXCEL时,文件中有控件出现(急)

问题描述 我在GridView中用了Button和DropDownList,但是在導出為EXCEL時出現了這些控件,請問怎樣解決呢,而且我不想讓"編輯"(button)和"刪除"(button)"出現在EXCEL中,怎樣做才能實現呢,大家幫幫我好嗎?先謝謝了 解决方案 解决方案二:excel可以兼容html的table及样式你的gridview导出我不知道是怎么实现的但是你可以提取该gridview的代码remove掉button等代码再write出去解决

sqlite删除数据库中的数据时偶尔会出现错误

问题描述 sqlite删除数据库中的数据时偶尔会出现错误 java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed. 求助,connection pool 是啥啊,求大神指教. 解决方案 如果确定不是连接被关闭,那还有可能就是多线程访问sqlite,sqlite数据库是单线程操作的,那么当N多个Thread同时调用的时候,可能报这错误.这也就

database-从 SQLite 数据库中删除数据

问题描述 从 SQLite 数据库中删除数据 我在程序中创建了一个 SQLite Android dB.我可以添加 info 到 dB 中,但是不能删除 dB 中的任何数据. final SQLManager hon = new SQLManager(this); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated meth

如何从sqlite数据库中获取数据并显示在listview中?

问题描述 如何从sqlite数据库中获取数据并显示在listview中? 在登录页面后,我想在listview中把Apple显示成A,Boy显示成B等等,直到F.但是在程序中当我完全登录后,只有登录表成功创建,主菜单还是没有创建. 我想在test database中创建主菜单,然后我想从主菜单表(mainmenu table)中获取数据再显示在listview中. 我使用了下面的代码: if(username.length()>0&&password.length()>0) {

Android开发中怎样调用mysql数据库中的数据

问题描述 Android开发中怎样调用mysql数据库中的数据 Android开发中怎样调用mysql数据库中的数据,数据库可以是本地也可以是联网的. 解决方案 Android本地是不能直接调用MySQL的,因为很简单,你的Android手机上面不可能安装MySQL服务的.你只能借助于网络通信, 让手机和电脑通过网络连接起来,这样你想在Android端访问MySQL数据库时,就可以通过一定的方式发送一些网络消息请求, 让电脑端去查询数据库,再通过网络把数据返回给Android端.当然,最简单的网