Webkitブラウザで実行するアプリケーションを作成しています。デバイスにローカルに保存されているデータを取り出し、.csv形式でエクスポートする必要があります。これはjavascriptを使って可能ですか?それはブラウザで行う必要があります。 PHPはオプションではありません。ありがとうWeb SQLを.CSVファイルにエクスポートする方法
答えて
sqliteファイルがサーバー上にあるとします(私たちはローカルストレージについては言及していませんが、それでもサーバー側のファイルにアクセスする必要があります)。
私はブラウザでSQLストレージについて話しています。ここにリンクがあります。 http://www.w3.org/TR/webdatabase/ – Tim
これは可能ですが、javascriptを手作業でcsvにシリアル化する必要があります。また、使用するCSV方言を決定する必要があります。
以下は、使用する必要がある一般的なパターンを示す(テストされていない)可能性の1つです。
function csvQuoteCell(cell, quotechar, sepchar) {
// quote cells containing sepchar and double quote chars
// this is an excel dialect
var quoted = cell;
if (cell.indexOf(sepchar)!==-1) {
if (cell.indexOf(quotechar)!==-1 {
quoted = quoted.replace(quotechar, quotechar+quotechar);
}
quoted = quotechar+quoted+quotechar;
}
return quoted;
}
function array2csv(ar, quotechar, sepchar) {
var quoted = [];
for (var i=0;i<ar.length;i++) {
quoted.push(csvQuoteCell(ar[i], quotechar, sepchar);
}
return quoted.join(sepchar);
}
var db = openDatabase('mydb','1.0','thedatabase',1024*1024);
db.readTransaction(function(tx){
tx.executeSql('SELECT col1, col2, col3 FROM thetable', [], function(tx, results){
var quotechar = '"';
var sepchar = ',';
var row, rowarray, csvstring;
var csvs = [];
var fieldnames = ['col1','col2','col3'];
// this is the header row
csvs.append(array2csv(fieldnames, quotechar, sepchar));
for (var i=0; i<results.rows.length; i++) {
row = results.rows.item(i);
// you need to make sure you have an explicit order for the csv
// row is an object with unordered keys!
rowarray = [];
for (var j=0;j<fieldnames.length;j++) {
rowarray.push(row[fieldnames[j]]);
}
csvs.push(array2csv(rowarray, quotechar, sepchar));
}
csvstring = csvs.join('\r\n');
// csvstring should now contain a multirow csv string
});
});
しかし、javascriptからローカルファイルシステムにそのファイルを「ダウンロード」することはできません。サーバーにアップロードするだけです。正確なブラウザ環境によっては、FileWriter apiの草案、何らかの種類のフラッシュまたはJavaアプレットシム、またはあなたのデバイスが提供する独自のAPIを使用することができます。
そのファイルを作成してからFTPで送信できますか? – Tim
ご使用のブラウザ環境にftp拡張機能が含まれていない場合は、ほとんどの場合そうではありません。しかし、HTTP POSTやPUTは、 'XMLHttpRequest'を使って簡単に行うことができます。 –
- 1. SQLサーバーのデータをCSVファイルにエクスポート
- 2. macOS sierraで.traceファイルをCSVファイルにエクスポートする方法
- 3. Sql Azure CSVにエクスポート
- 4. SQL Server:クエリをCSVにエクスポート
- 5. Core DataエンティティをCSVファイルにエクスポートする方法
- 6. Oracleクエリーをテキスト/ csvファイルにエクスポートする方法
- 7. CodeIgniterで言語ファイルのコンテンツをCSVにエクスポートする方法は?
- 8. beautifulsoup scrapeからcsvファイルにデータをエクスポートする方法
- 9. テストケースをRallyからCSVファイルにエクスポートする方法
- 10. Telerikデータをasp.netの.csvファイルにエクスポートする方法C#
- 11. Robomongo - 集計結果をCSVファイルにエクスポートする方法
- 12. GridViewデータをasp.netの.csvファイルにエクスポートする方法
- 13. PigからPandasにCSV/TSVファイルをロード/エクスポートする方法は?
- 14. SQL ServerからCSVへ高速データをエクスポートする方法
- 15. エラーSQLをCSVにエクスポートする - パイプライン
- 16. CSVファイルをエクスポートする
- 17. テストcsvファイルをエクスポート
- 18. dojoデータグリッドをcsvファイルにエクスポート
- 19. CSVファイルをHiveにエクスポート
- 20. データベースをCSVファイルにエクスポート
- 21. Pythonカウンタを.CSVファイルにエクスポート
- 22. sqlエージェントジョブの結果を.csvファイルにエクスポートします。
- 23. mysql dbをcsvファイルにエクスポートするツール
- 24. Web廃棄後のデータをCSVファイルにエクスポート
- 25. SQLを使用してCSVファイルをFTPサイトにエクスポート
- 26. Eclipseファイルをmyfileにエクスポートする方法
- 27. C#でSQL ServerデータをExcelファイルにエクスポートする方法
- 28. クエリ結果をSQL ServerのCSVファイルにエクスポート
- 29. AngularJSでデータテーブルのリスト/コレクションをCsvにエクスポートする方法
- 30. CSVファイルに対してSQLを使用する方法
Web SQLデータベースを意味しますか? 'window.openDatabase()'? –
はい、それは私が意味したことです。 http://www.w3.org/TR/webdatabase/ – Tim