android – 从Sqlite检索数据并存储到CSV文件中

android – 从Sqlite检索数据并存储到CSV文件中,第1张

概述我试图从数据库返回数据并将其保存在SD卡中的CSV文件中并附加文件并通过电子邮件发送,这一切都很完美,数据在Excel上应该是这样的. 例 COLUMN A ……….. COLUMN B 123123232 ……….约翰 964803400 ……….史密斯 657484738 ……….麦克 我的问题是,当我打开Excel时,数据显示如下 COLUMN A ……….. COLUMN B 123123 我试图从数据库返回数据并将其保存在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文件中所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1127397.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存