Есть ли способ создать XLSX с несколькими листами, используя alaSql? - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь создать файл xlsx с несколькими листами с помощью alaSql. Они должны иметь только столбцы и вообще не иметь данных (они будут использоваться в качестве шаблона, доступного для загрузки)

    var tasksData = [{
        UserName:"",
        Application:"",
        Module:""
    }];
    var objectsData = [{
        UserName:"",
        Application:"",
        Module:""
    }];
    var conflictsData = [{
        UserName:"",
        Application:"",
        Module:""
    }];

    var opts = [{
        sheetid: 'TasksData',
        headers: false
        }, {
        sheetid: 'ObjectsData',
        headers: false
        }, {
        sheetid: 'ConflictsData',
        headers: false
        }];

        alasql('SELECT * INTO XLSX("MatrixSODTemplate.xlsx",?) FROM ?',[opts,[tasksData,objectsData,conflictsData]]);

Мне нужно, чтобы выходной файл представлял собой один файл xlsx с 3 листами. И никаких данных в нем, только столбцы.

Лист TaskData: -username -Заявка -Модуль

Лист ОбъектовДанные: -username -Заявка -Модуль

Листы ConflictsData: -username -Заявка -Модуль

1 Ответ

0 голосов
/ 14 июня 2019

Итак, я узнал, что происходит. У меня была старая версия alasql в моем проекте. Поэтому я обновил его, а затем нашел эту полезную ссылку, где разработчики объясняют, как это сделать.

var data1 = [{a:1,b:10},{a:2,b:20}];
var data2 = [{a:100,b:10},{a:200,b:20}];
var opts = [{sheetid:'One',header:true},{sheetid:'Two',header:false}];
var res = alasql('SELECT INTO XLSX("restest344b.xlsx",?) FROM ?',[opts,[data1,data2]],
  function(){
    done();
  });

https://github.com/agershun/alasql/wiki/How-to-create-multiple-worksheets-into-a-workbook

Надеюсь, это кому-нибудь поможет

...