Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 从Sqlite检索数据并存储到CSV文件中大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从数据库返回数据并将其保存在SD卡中的CSV文件中并附加文件并通过电子邮件发送,这一切都很完美,数据在Excel上应该是这样的.

columN A ……….. columN B

123123232 ……….约翰

964803400 ……….史密斯

657484738 ……….麦克

我的问题是,当我打开Excel时,数据显示如下

columN A ……….. columN B

123123232 ……….

964803400 ……….

657484738 ……….

约翰

工匠

麦克风

这是代码Names.Java

dbUser.open();

                File root=null;     
             try {  
                    // check for SDcard   
                    root = Environment.getExternalStorageDirectory();                   
                    Log.i(tag,"path.." +root.getAbsolutePath());  

                    //check sdcard permission  
                    if (root.canWrite()){  
                        File fileDir = new File(root.getAbsolutePath()+"/fun/");  
                        fileDir.mkdirs();  

                        Log.d("PATH",fileDir.toString());

                        File file= new File(fileDir,"itisfun.csv");  
                        FileWriter filewriter = new FileWriter(filE);  
                        BufferedWriter out = new BufferedWriter(filewriter); 
                        String[] div = dbUser.getVname_Mnumber(sharedUsername1,product).toString().split(",");

                        Log.d(sharedUsername1,product);

                        Log.d("VVVVVVVVVV",dbUser.getVname_Mnumber(sharedUsername1,product).toString());

                        for (int i =0; i<div.length;i++)
                        out.write( div[i] +"\n" );

                        out.close();  
                    }  
                } catch (IOException E) {  
                    Log.e("ERROR:---","Could not write file to SDCard" + e.getmessage());  
                }

这是我的DBadapter

public String getVname_Mnumber(String date,String VName) throws sqlException {    

    String[] whereArgs = new String[]{date,VnamE}; 

    cursor mcursor = db.rawQuery("SELECT Meternumber,VendorName FROM " + SCAN_TABLE + " WHERE  Date = ? AND VendorName = ? ",whereArgs);

    ArrayList<String> results = new ArrayList<String>();
    ArrayList<String> results1 = new ArrayList<String>();
    while (mcursor.moveToNext()) {
        results.add(mcursor.getString(0));
        results1.add(mcursor.getString(1));
    }

    return results + ","+ results1;

}

非常感谢你的帮助

解决方法

您基本上创建了两个ArrayLists – 第一个只包含cursor的第0列,第二个只包含第1列.然后返回所有第0列结果,后跟“,”,后跟第1列的所有结果.

尝试使用StringBuilder来完成整个过程.例…

StringBuilder sb = new StringBuilder();
while (mcursor.moveToNext()) {
    sb.append(mcursor.getString(0) + "," + mcursor.getString(1) + "\n");
}
return sb.toString();

大佬总结

以上是大佬教程为你收集整理的android – 从Sqlite检索数据并存储到CSV文件中全部内容,希望文章能够帮你解决android – 从Sqlite检索数据并存储到CSV文件中所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。