繁体   English   中英

如何在android中实现从/到excel导入/导出sqlite数据

[英]How to implement import/export an sqlite data from/to excel in android

我正在开发一个需要提供所有架构师资料的应用程序。 该应用程序几乎完成。 但最后的任务是关于备份/恢复选项。 我想Backup这样一个文件,可以在excel或一些简单的视图中查看。 然后,bakup也可以用于Restore选项。

您可以创建备份功能。 Python有一个很棒的csv库,易于使用。 以及简单的sqlite集成。 只需创建一个Select * from tableToBackUp的函数,该select语句中的每一行都应该是csv中的新行

 import csv
 with open('myCSV.csv', 'wb') as csvfile:
    writer= csv.writer(csvfile, delimiter=' ',
                        quotechar='|', quoting=csv.QUOTE_MINIMAL)
    writer.writerow(rowInSQLITEQuery['columnName']  + rowInSQLITEQuery['columnName2'])

我的应用程序还涉及导出数据。 我已将数据保存在SQLite数据库中。 然后将其存储到SD卡并使用JavaMail API邮寄。 可以使用SQLiteBrowser软件轻松读取导出的.db可以免费下载。 我假设您已导出数据库,如您在问题中提到的Excel

如果在将db文件导出到SD卡时需要帮助/链接,请回复。

确切的解决方案可能取决于您希望如何从设备卸载数据。

你可能正在寻找这个: http//developer.android.com/training/basics/data-storage/files.html

在这种情况下,您可以从SQLite表中写入行,就好像它们是Excel可以读取的“.csv”文件中的行一样。 下面只是将一个字符串写入文件,但您可以使用循环来逐行写入数据库中的行。

String filename = "myfile";
String string = "Hello world!";
FileOutputStream outputStream;

try {
  outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
  outputStream.write(string.getBytes());
  outputStream.close();
} catch (Exception e) {
  e.printStackTrace();
}

FileProvider看起来像一个更复杂的解决方案,但如果您尝试从另一个应用程序读取设备上的文件,则可能是您想要的。

http://developer.android.com/training/secure-file-sharing/setup-sharing.html

简短的回答,没有直接的方法。 我为我的应用程序做的是使用第三方库来创建excel文档,我实际上为每个表创建了一个表,并逐表编写它们。 那里没有“转换方法”可以做到这一点

另一个选项是将.db文件从内部存储器复制到备份文件夹并将其复制回来..但不涉及excel

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM