【问题标题】:Export sqlite database file into XML and then into Excel spreadsheet将 sqlite 数据库文件导出为 XML,然后导出为 Excel 电子表格
【发布时间】:2014-03-17 10:51:50
【问题描述】:

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

我研究了一些教程,里面写着你可以先把你的数据库文件转换成XML,然后再把这个文件导出成excel格式..

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

谢谢..

【问题讨论】:

标签: android database sqlite android-sdcard


【解决方案1】:

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

sqlite3 有一个专门用于此的功能,称为“报价”。您可以在此处阅读更多信息:

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 “你好”,2

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

【讨论】:

    【解决方案2】:

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

    如果你对它的完成方式更灵活,你可以给用户 sqlite 数据库文件,他们可以通过 sqlite ODBC 驱动程序导入数据:http://www.ch-werner.de/sqliteodbc/

    【讨论】:

    • 我同意你的方法,但我希望当我将该数据库文件提供给最终用户时,他可以轻松地将该文件打开到 Excel 表中..
    【解决方案3】:

    虽然从技术上讲它不是一代 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 中打开此电子表格.xls 文件时,我会看到导入选项。单击“是”,文件将像普通电子表格一样打开。然后,您可以根据需要调整格式并重新保存,使其成为真正的 XML 压缩 Excel 文件。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多