ライブラリを使用せずにangularjs/Javascriptで大きなローカルxls/xlsxファイルを読み取ることができますか?
これを探している間、私はこれを見つけました:
純粋なJSで実装された基本的なパーサー:
http://oss.sheetjs.com/js-xls/ (XLSファイル、必要なもの)
http://oss.sheetjs.com/js-xlsx/ (XLSX/XLSM/XLSBファイル)
リファレンスを提供しています Javascript/HTML5でExcelファイルを解析する方法
https://Gist.github.com/psjinx/8002786
これがお役に立てば幸いです。
このコードを使用して読み取ります
<script>
/* set up XMLHttpRequest */
var url = "test.xlsx";
var oReq = new XMLHttpRequest();
oReq.open("GET", url, true);
oReq.responseType = "arraybuffer";
oReq.onload = function(e) {
var arraybuffer = oReq.response;
/* convert data to binary string */
var data = new Uint8Array(arraybuffer);
var arr = new Array();
for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);
var bstr = arr.join("");
/* Call XLSX */
var workbook = XLSX.read(bstr, {type:"binary"});
/* DO SOMETHING WITH workbook HERE */
var first_sheet_name = workbook.SheetNames[0];
/* Get worksheet */
var worksheet = workbook.Sheets[first_sheet_name];
console.log(XLSX.utils.sheet_to_json(worksheet,{raw:true}));
}
oReq.send();
</script>
https://github.com/SheetJS/js-xlsx は現時点ではより優れたライブラリです。しかし、私の方法では、ファイルxlsx-は読み取れず、2003バージョンより古いExcelのファイルにも問題があります。しかし、公式のドキュメントでそれを書くと、それはサポートされます。しかし、たぶん私はこの問題を抱えています。私はまた、この機能を使用してExcelからjsonを取得します。
var roa = XLSX.utils.sheet_to_row_object_array(worksheet);