2
这是参考我的问题 - Attach content of HTML5 WebSQL databse to email using javascriptHTML5 - 出口的Web SQL数据库到CSV或TXT文件
我有一个HTML5应用程序,将在Chrome浏览器中运行。我需要将本地存储在Web SQL数据库中的数据导出到csv或txt文件中。
我需要在浏览器中执行此操作。服务器端代码不是一个选项。这怎么可以做到的JavaScript?谢谢
编辑: 我发现实现这一目标的一种方法是通过数据URI。所以我从结果对象中的select查询中得到了我的结果集。我如何将它编码为基础64格式?
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
var len = results.rows.length, i;
msg = "<p>Found rows: " + len + "</p>";
document.querySelector('#status').innerHTML += msg;
for (i = 0; i < len; i++){
alert(results.rows.item(i).log);
}
}, null);
});
//Encode the results object to base64
/* How can we do this? */
<a download="example.csv" href="data:application/csv;charset=utf-8, <<base64_encoded_data>>">Test</a>
我之前没有使用过WebSQL,所以我不能帮助那部分东西,但是如果你可以把你的数据放到一个数组中,其中数组的每个元素都是一个数组,表示数据库中的一行您可以使用我的[CSV库](http://www.uselesscode.org/javascript/csv/)将其格式化为CSV格式。只需包含库,然后通过'CSV.arrayToCsv();'运行你的数组来接收CSV格式的数组。 –