4

I'm exporting some tables to excel, using angular, alasql and xlsx. I'm using it as follows:

var options = {
    headers: true,
    sheetid: 'users',
    columns: [{
      columnid: 'a',
      title: 'Username'
    }, {
      columnid: 'b',
      title: 'First name'
    }, {
      columnid: 'c',
      title: 'Last name'
    }]
  };

alasql('SELECT * INTO XLSX("test.xlsx", ?) FROM ?', [options, $scope.users]);

I was expecting the columnns option to customize my table headers. But it ain't doing it.

Any clue why?

Luis Crespo
  • 1,610
  • 1
  • 20
  • 33

2 Answers2

11

Sometimes you want to use Headers including blank spaces (Separated By) or... using headers that are reserved words (Deleted), in both cases you can use [] like this:

alasql('SELECT firstName AS FirstName, [Deleted] AS [Erased], Separated AS [Separated By] INTO XLSX("test.xlsx", ?) FROM ?', [options, $scope.users]);
Aquiles
  • 857
  • 1
  • 10
  • 19
5

I managed to customize the headers by using plain SQL:

alasql('SELECT firstName AS FirstName INTO XLSX("test.xlsx", ?) FROM ?', [options, $scope.users]);

That worked, the header for the firstName would be FirstName.

Luis Crespo
  • 1,610
  • 1
  • 20
  • 33