2016-06-14 3 views
0

Как импортировать лист Excel в таблицу HTML, чтобы каждая строка могла быть преобразована в объект, основанный на именах столбцов. Использование Углового JSИмпортировать таблицу из таблицы Excel в таблицу HTML, используя AngularJS

P.S: Объекты необходимы для будущих отсортированных таблиц.

+0

Вы можете найти ответы на некоторые вопросы здесь: http://stackoverflow.com/questions/18450259/paste-into-nggrid- от-excel и здесь: http://stackoverflow.com/questions/30765389/angularjs-ui-grid-import-xlsx-data-best-approach – Mistalis

ответ

1

Я разработал компонент для этого. Пожалуйста, обратите внимание, если это поможет вам: 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