Я разработал компонент для этого. Пожалуйста, обратите внимание, если это поможет вам: https://github.com/Helvio88/angular-xlsx-model
Использование
<input type="file" xlsx-model="excel">
даст вам возможность выбрать файл.
Для нескольких файлов:
<input type="file" xlsx-model="excel" multiple>
Он может быть дополнительно расширен, чтобы отфильтровать определенные расширения и так далее. Обратитесь к http://www.w3schools.com/jsref/dom_obj_fileupload.asp
После того, как вы выберите файл, угловую объект JSON имени атрибута XLSX-модели (в данном случае «» отличиться) будет создан в следующем формате:
$ scope.excel (несколько файлов):
{
"file1.xlsx": {
"Sheet1": [
{
"Col1Name": "Row1Col1_Value",
"Col2Name": "Row1Col2_Value"
},
{
"Col1Name": "Row2Col1_Value",
"Col2Name": "Row2Col2_Value"
}
],
"Sheet2" : [...]
},
"file2.xlsx": {...}
}
Эта модель действительна, если вы выбрали несколько файлов. Для одного файла это немного отличается.
$ scope.excel (один файл):
{
"Sheet1": [
{
"Col1Name": "Row1Col1_Value",
"Col2Name": "Row1Col2_Value"
},
{
"Col1Name": "Row2Col1_Value",
"Col2Name": "Row2Col2_Value"
}
],
"Sheet2" : [...]
}
площадка: http://plnkr.co/edit/inETA0PcxIkm4EmS9qjD?p=preview
Вы можете найти ответы на некоторые вопросы здесь: http://stackoverflow.com/questions/18450259/paste-into-nggrid- от-excel и здесь: http://stackoverflow.com/questions/30765389/angularjs-ui-grid-import-xlsx-data-best-approach – Mistalis