2016-09-21 5 views
1

Ich verwende js-xlsx Bibliothek. Ich muss eine Excel-Datei schreiben. Also, wenn ich eine wb Variable als Excel-Arbeitsmappe definiert und fragte js-xlsx es zu gleicher DateiFehler bei der Verwendung einer Bibliothek - Javascript

XLSX.writeFile(wb, 'out.xls'); 

ich einen Fehler bei Browser-Konsole erhalten zu schreiben:

require.js:900 TypeError: Cannot read property 'writeFileSync' of undefined 

XLSX.writeFile wendet sich an js-xlsx/dist/xlsx.js row 1340

_fs = require('f'+'s'); 

Und wenn ich es zum Debuggen pausiert, _FS ist undefined, von cource. Ich kann nicht sehen, wo ich 'f' oder 's' libs finden könnte. Bitte hilf mir, es zu verstehen.

+0

Sind Sie es in Browser ausgeführt wird? – Maxx

+0

@Maxx ja, es funktioniert mit Browser – Mae

+1

Nein, ist es nicht. Du kannst keine Datei mit Browser schreiben, dein Code sollte unter nodejs laufen – Maxx

Antwort

1

try XLSX.write mit - writefile Funktion ist spezifisch


  • XLSX.write(wb, filename) Schreiben auf Binärkette NodeJS (-> Browser)

  • XLSX.writeFile(wb, filename)NodeJS Funktion


/* XLSX.write(wb, 'out.xls'); */ 

/* bookType can be 'xlsx' or 'xlsm' or 'xlsb' */ 
var wopts = { bookType:'xlsx', bookSST:false, type:'binary' }; 

var wbout = XLSX.write(workbook,wopts); 

function s2ab(s) { 
    var buf = new ArrayBuffer(s.length); 
    var view = new Uint8Array(buf); 
    for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; 
    return buf; 
} 

/* the saveAs call downloads a file on the local machine */ 
saveAs(new Blob([s2ab(wbout)],{type:""}), "test.xlsx") 

https://github.com/SheetJS/js-xlsx#user-content-writing-workbooks

Verwandte Themen