2017-03-21 12 views
0

現在、電子を使用してアプリケーションを作成していますが、HTMLテーブルの内容をCSVファイルに保存しようとしています。 私は、このように、thisを試してみました:それはほとんどのデータは、すべて私が欲しいものではありませんこれは、「」でsurrundedされているため除いて、私のニーズを満たすカスタムファイルパスを使用してHTMLテーブルのデータをCSVファイルに保存する

let $ = require('jquery') 
let fs = require('fs') 
var dialog = require('electron').remote.dialog 
$('#save-file').on('click',() => { 
dialog.showSaveDialog({ filters: [{ name: 'csv', extensions: ['csv'] }]}, function (fileName) { 
    if(fileName === undefined){ 
    console.log("Please give a file name!"); 
    }else{ 
    var value = $('#data-table').TableCSVExport({delivery:"value"}) 
    fs.writeFile(fileName, value, function (err) { 
    }); 
    } 
}); 
}) 

。 その後、私はthisを見ました。このような似たようなものがたくさんありますが、ボタンをクリックすると自動的にダウンロードされます。 ボタンをクリックすると、ファイルパスを選択してその位置にファイルを保存するダイアログボックスが表示されます。 また、私はtr(データ)を保存する必要があるので、th(見出し)を除外してください 私のニーズを満たすことができるjsライブラリはありますか?

ガイダンスに感謝!

+0

それで、あなたは何をしていますか?保存ダイアログを表示するか、ファイルをcsvに保存しますか? –

+0

@unseen_damage返事をありがとう。私は、デフォルトのダウンロードフォルダではなく、ユーザーが選択した宛先にCSVファイルをダウンロードすることに固執しています。 – MaXon

答えて

0

ユーザーが自分のファイルの場所を選択するようにしたい場合は、次のコードが、csv-write-stream npmパッケージを使用するshowSaveDialogメソッドの例です。これはコードスニペットで、は完全に動作するコピー/ペーストの例ではありません。該当する項目は、ファイル機能に加えて、依存関係である:

const { dialog } = require('electron'); 
const fs = require('fs'); 
const csvWriter = require('csv-write-stream'); 

function saveFile(){ 
    const folderLocation = dialog.showOpenDialog({ 
     title:"Select Save Location", 
     properties: ["openDirectory"] 
    }); 

    let writer = csvWriter() 
    writer.pipe(fs.createWriteStream(folderLocation)) 
    writer.write({hello: "world", foo: "bar", baz: "taco"}) 
    writer.end() 
}; 

あなたは、フォルダを選択するファイル構造をナビゲートするために、showOpenまたはshowSaveで、オプションにどちらかの方法を持っている必要があります。 CSVファイルの取り扱いを参照する

、以下のNPMパッケージをチェックしてください。

CSVを処理するためのもう一つのクールなパッケージには、表示するためのhandsOnTableです彼らはあなたの電子アプリで優れた文書の外観を持っています。

関連する問題