将sqlite数据库文件导出为XML,然后导入Excel电子表格

时间:2011-12-26 10:26:27

标签: android database sqlite android-sdcard

我尝试从过去的12小时开始执行此任务,但仍然无法执行此操作...现在我将sdite数据库文件名为“testDatabase.db”作为备份文件放入sd卡中。现在我想将数据库打开成电子表格格式,以便最终用户可以访问数据库并将此电子表格数据库存储到他的系统中,然后进一步打印输出和其他用途..

我研究了一些教程,其中写道,你可以先将你的数据库文件转换成XML,然后将这个文件导出为ex​​cel格式..

但我无法将我的数据库文件导出为XML格式...根据我的要求,我想按钮点击我的数据库文件应转换为xml格式,以便最终用户可以使用它。

谢谢..

4 个答案:

答案 0 :(得分:3)

我知道这可能有点晚了但是如果其他人搜索这个并看到这个问题,那么最好的答案就是将数据库导出为CSV(逗号分隔)文件。

sqlite3只有一个名为“quote”的函数。你可以在这里阅读更多相关信息:

http://www.sqlite.org/lang_corefunc.html#quote

示例:

创建表t1(c1 char,c2 int);

插入t1值('a hi',1);

插入t1值('b hello',2);

选择引号(a)|| ','|| b来自t1;

这将返回: '嗨',1 'b你好',2

还有其他方法可以使用引用功能,但它实际上取决于您的数据以及您希望如何使用它。

答案 1 :(得分:2)

转换是否必须在Android设备上进行?

如果您对如何完成更灵活,可以为用户提供sqlite数据库文件,他们可以通过sqlite ODBC驱动程序导入数据:http://www.ch-werner.de/sqliteodbc/

答案 2 :(得分:1)

虽然技术上不是一代XML,但您可以轻松跳过该中间步骤并直接从命令行生成Excel电子表格。

大多数电子表格应用程序都可以导入HTML表格,可以轻松地 sqlite3有一个命令行选项来导出该格式的查询。

echo "<HTML>
<BODY>
<TABLE>" > spreadsheet.xls

sqlite3 -html sqlite.db "select * from table;" >> spreadsheet.xls

echo "</TABLE>
</BODY>
</HTML>" >> spreadsheet.xls

例如,在LibreOffice中打开此spreadsheet.xls文件时,我会看到导入选项。单击“是”,文件将像普通电子表格一样打开。然后,您可以根据需要调整格式并重新保存,以使其成为真正的XML压缩Excel文件。

答案 3 :(得分:0)

据我所知,没有“一键式”这样做。您可以创建.bat脚本将每个表导出到CSV或html表(commands can be found here),然后将它们导入excel。
或者你可以下载像sqlite数据库浏览器这样的软件打开你的.db文件,然后将每个表导出到一个csv文件中。