web-dev-qa-db-ja.com

JavaScriptでローカルのXLS / XLSXファイルを読み取る

ライブラリを使用せずにangularjs/Javascriptで大きなローカルxls/xlsxファイルを読み取ることができますか?

7
Tushar Thakur

これを探している間、私はこれを見つけました:

純粋な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

これがお役に立てば幸いです。

16
Reena

このコードを使用して読み取ります

 <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>
3
Vinoth

https://github.com/SheetJS/js-xlsx は現時点ではより優れたライブラリです。しかし、私の方法では、ファイルxlsx-は読み取れず、2003バージョンより古いExcelのファイルにも問題があります。しかし、公式のドキュメントでそれを書くと、それはサポートされます。しかし、たぶん私はこの問題を抱えています。私はまた、この機能を使用してExcelからjsonを取得します。

var roa = XLSX.utils.sheet_to_row_object_array(worksheet);
2