にjavascript配列私が知っている、ここでこのトピックに関する質問の何百もあるが、私はまだ検索の日後に満足のいく答えを見つけることができませんでした:エクスポート2D Excelシート
私はjavascript配列2Dを持っています、私はExcelシートとしてダウンロードしたい。ここで
は、私がこれまでに得たコードとフィドルです:
https://jsfiddle.net/3an24jmw/7/
ダウンロード作品が、私はしようとする日後に解決することができませんでしたいくつかの問題がある:
-
は、
- すべての項目はExcelシートの最初の列に終わります.Excelはデータの一部として要素を区切る "、"を解釈するためです。 Excelが理解できるように要素をどのように分けることができますか?
- ファイル名は暗号コードです。ファイル名はどのように設定できますか?
- ダウンロードしたファイルの末尾には、
.xls
(.xls.xls
)というダブルが付いています。どのように単一の.xls
を得ることができますか? - Excelは、ファイルが破損しているか、安全でない可能性があるたびに通知します。これをどうやって防ぐのですか?
これらの質問のいずれかの助けに感謝します。
exportToCsv = function() {
var CsvString = "";
Results.forEach(function(RowItem, RowIndex) {
RowItem.forEach(function(ColItem, ColIndex) {
CsvString += ColItem + ',';
});
CsvString += "\r\n";
});
window.open('data:application/vnd.ms-excel,' + encodeURIComponent(CsvString));
}
UPDATE
私はちょうど1. 2.と4. csv
とvnd.ms-excel
を交換することによって解決することができることを、偶然見つけました。
ファイルはもう.xls
になりませんが、問題なくExcelでcsvを開き、意図したように動作させることができます。
残っている問題はファイル名だけです!
UPDATE 2
は、最後に検索し、しようとの2つのフル稼働日後、私は同じ問題に誰を助けるために、ここで共有したい解決策を見つけた:
は単純に含まinvisible <a>
要素は、download="somedata.csv"
属性を使用してファイルに有用な名前を定義します。
https://jsfiddle.net/3an24jmw/25/
提案していただきありがとうございますが、それはあなたのためにフィドルで機能しましたか? 私はそれを試してみると、シートの最初の行はsep =、 –
に置き換えられます。間違って二重引用符を間違えてしまいました。今修正されました。 – Bas