FileReader
でExcelファイルを読むことができますが、それにテキストと奇妙な文字が出力されます。私はxls
ファイルを行ごとに読んで、すべての列のデータを読んでそれをJSONに変換する必要があります。Javascript/HTML5でExcelファイルを解析する方法
誰もxlsファイルを行ごとに読み取る方法を知っていますか。
ご協力いただければ幸いです。
FileReader
でExcelファイルを読むことができますが、それにテキストと奇妙な文字が出力されます。私はxls
ファイルを行ごとに読んで、すべての列のデータを読んでそれをJSONに変換する必要があります。Javascript/HTML5でExcelファイルを解析する方法
誰もxlsファイルを行ごとに読み取る方法を知っていますか。
ご協力いただければ幸いです。
以下は、Excelシート(XLSX形式)のデータをJSONに変換する機能です。関数に約束を追加することができます。ポスト以下
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/xlsx.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/jszip.js"></script>
<script>
var ExcelToJSON = function() {
this.parseExcel = function(file) {
var reader = new FileReader();
reader.onload = function(e) {
var data = e.target.result();
var workbook = XLSX.read(data, {
type: 'binary'
});
workbook.SheetNames.forEach(function(sheetName) {
// Here is your object
var XL_row_object = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
var json_object = JSON.stringify(XL_row_object);
console.log(json_object);
})
};
reader.onerror = function(ex) {
console.log(ex);
};
reader.readAsBinaryString(file);
};
};
</script>
XLS形式のコードExcel to JSON javascript code?
XLSは、Microsoftが使用するバイナリ独自の形式です。特定のライブラリやOffice Interopを使用しなければ、サーバー側の言語でXLSを解析することは非常に困難です。 javascriptでこれを行うことは不可能です。 HTML5 File APIのおかげでバイナリの内容を読むことができますが、それを解析して解釈するためにはspecifications of the XLS formatにダイビングする必要があります。 Office 2007からは、標準であるOpen XMLファイル形式(Excel用のxslx
)が採用されました。
を送信できますか?ありがとうございますが、既にプラグインがあるはずです。 :| – ducktyped
@ducktyped、私はバイナリExcelファイルを読み込むjavascriptコードを認識しておらず、見ていません。 –
ミッション不可?疑わしい。クライアント側のjavascriptでLinuxカーネルを実行できるのであれば、バイナリのExcelファイルを解析できるはずです。私の知る人はまだいません。 –
var excel =新しいActiveXObject( "Excel.Application"); var book = excel.Workbooks.Open(your_full_file_name_here.xls); var sheet = book.Sheets.Item(1); var value = sheet.Range( "A1");
シートがあるとき。 Excelで行うように、VBA関数を使用できます。
古い質問ですが、javascriptからXLSファイルを解析する一般的な作業は面倒で困難ですが不可能ではないことに注意してください。
私は基本的なパーサは、純粋なJSで実装している:
HTML5 File-API-driven XLS/XLSXパーサー(ファイルをドラッグアンドドロップすると、セル内のデータがコンマ区切りのリストに印刷されます)。 JSONオブジェクトを生成することもできます(最初の行がヘッダー行であることを前提とします)。
テストスイートhttp://oss.sheetjs.com/には、XHRを使用してファイルを取得および解析するバージョンが示されています。
答えにいくつかのサンプルコードを追加することができれば、それははるかに良いでしょう(また、あなたがライブラリの場合はdiaclaimerを追加してくださいリーダー)。 – acdcjunior
とても素晴らしいです。 – eyelidlessness
ありがとう、大助け –
このコードはあなたに
を助けることができる時間jszip.jsのほとんどはそれほど機能していない持っているあなたのJSコードでxlsx.full.min.jsが含まれます。
<input type="file" id="file" ng-model="csvFile"
onchange="angular.element(this).scope().ExcelExport(event)"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/xlsx.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/jszip.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.10.8/xlsx.full.min.js">
</script>
$scope.ExcelExport= function (event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var fileData = reader.result;
var wb = XLSX.read(fileData, {type : 'binary'});
wb.SheetNames.forEach(function(sheetName){
var rowObj =XLSX.utils.sheet_to_row_object_array(wb.Sheets[sheetName]);
var jsonObj = JSON.stringify(rowObj);
console.log(jsonObj)
})
};
reader.readAsBinaryString(input.files[0]);
};
の可能重複[クライアント側でExcelファイルの内容を読み取る方法?](http://stackoverflow.com/questions/6382572/howクライアント側のファイル内容を読み取る) –
@JoachimPileborg:これは質問に答えません。私は行ごとにファイルを読み込む必要があります。私はFileReader(HTML5)を使って読むことができますが、まだ行をブラウズすることはできません。 – ducktyped
サンプルコード – Vinoth