2016-06-23 4 views
2

Мне нужно получить данные для экспорта в файл xlsx из приложения angular2, которое находится в разработке.Экспорт файлов xlsx в angular2 (машинопись)

Возможно, я действительно ищу помощь, чтобы загрузить несколько библиотек. Несколько вещей, которые я нашел, это jsfiddle и этот stackoverflow. Я бы хотел, чтобы что-то вроде этого работало, в угловом2. Любые попытки получить alasql для работы были удовлетворены ошибками, заявив, что это не модуль и т. Д. Пытаясь следовать подходам, представленные на различных блогах, например this one привести к ошибкам, как «не может прочитать свойство„компилировать“неопределенный»

В ранее упомянутом jsfiddle является примером того, что я хотел бы получить работу:

var res = alasql('SELECT INTO XLSX("MyAwesomeData.xlsx",?) FROM ?',[opts,[data1,data2]]); 

Я открыт для других инструментов, но приведенное выше будет работать для меня - если бы я мог заставить его работать с угловым2.

+0

Я сталкиваются с той же проблемой –

ответ

0

В последнее время я столкнулся с той же проблемой. Простой alasql не является угловым модулем, но все же вы можете использовать его с угловым 2. просто включите его, как по-старому.

<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.7.12/xlsx.core.min.js"></script> 
<script src="https://cdn.jsdelivr.net/alasql/0.3/alasql.min.js"></script> 

затем добавьте эту строку после импорта в компоненте или файл службы порога нужно использовать alasql.

declare let alasql 

, что прекрасно работает для меня вот link

удачи

1

Чтобы экспортировать в JSON excal файл в угловом 2, вы можете использовать alasql модуль НПМ.

  1. Установка НПМ модули

    i) npm install --save alasql 
    ii) npm install --save xlsx 
    
  2. В угловом-cli.json, при сценарии добавить следующие сценарии узлового модуля

    "scripts": [ 
    "../node_modules/xlsx/dist/xlsx.core.min.js", 
    "../node_modules/xlsx/dist/xlsx.min.js", 
    "../node_modules/alasql/dist/alasql.min.js" 
    

    ]

  3. В компоненте где вам нужно экспортировать файл, добавьте ниже импортированных статусов т:
    import * as alasql from 'alasql';

  4. Кнопка включения функции мыши добавьте следующий код: -

    buttonClick(){ 
    var data1 = [{a:1,b:10},{a:2,b:20}]; 
    var mystyle = { 
        headers:true, 
        column: {style:{Font:{Bold:"1"}}}, 
        rows: {1:{style:{Font:{Color:"#FF0077"}}}}, 
        cells: {1:{1:{ 
        style: {Font:{Color:"#00FFFF"}} 
        }}} 
    }; 
    alasql('SELECT * INTO XLSXML("tdts.xls",?) FROM ?',[mystyle,data1]); 
    

    }

Смежные вопросы