2016-03-08 3 views
1

Я новичок в AngularJS.Как разобрать/прочитать файл excel (.xls или .xlsx) в AngularJS, который уже присутствует на сервере?

У меня есть файл excel под названием sample.xls уже присутствует на моем сервере в какой-то папке. Этот файл excel содержит четыре листа. Я хочу проанализировать весь этот файл (т. Е. Данные, имеющиеся во всех листах).

Как это сделать в AngularJS?

Я не хочу, чтобы код загружал файл excel на сервер в AngularJS. Я хочу способ проанализировать файл excel, который уже присутствует на сервере с помощью AngularJS.

Пожалуйста, помогите мне в этом отношении.

Было бы лучше, если бы вы могли взять файл Excel с несколькими листами, содержащимися в нем, и продемонстрировать свой код с помощью некоторого рабочего примера.

Спасибо.

+0

см эту ссылку http://stackoverflow.com/questions/29465930/read-local-xls-xlsx-file-in-javascript –

+0

@Riazaskather : Я проверил это. Я хочу, чтобы это выполнялось только с помощью AngularJS. – user2839497

+0

Вы можете указать, что до вас? Если нет особого случая, нет причин не анализировать файл Excel на стороне сервера и передавать ваши соответствующие данные клиенту. – Alexei

ответ

0

Вы можете запросить файл excel с сервера, а затем использовать https://github.com/SheetJS/js-xlsx для обработки результатов в Javascript/Typcript.

Хотя лично я хотел бы сделать сервер чтения в языке выбора, а затем вернуть содержащиеся в нем данные как объект Json.

+0

Я хочу достичь этого, используя только AngularJS. – user2839497

+2

Угловая структура, использующая Javascript. Что бы вы ни делали, это будет написано в Javascript. –

1

использовать этот код для чтения данных из файла Excel

<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> 
Смежные вопросы