2015-11-19 4 views
2

Я использую alasql для экспорта в excel, и я пытаюсь выполнить пользовательские заголовки, как показано ниже. Все остальные имена полей хорошо, за исключением, когда это «действие»имя поля «действие» вызывает проблемы alasql экспорт в Excel

function myCtrl($scope) { 
$scope.exportData = function() { 
    alasql('SELECT name as MY_NAME, action as MY_ACTION INTO XLSX("john.xlsx",{headers:true}) FROM ?',[$scope.items]); 
}; 

$scope.items = [{ 
    name: "John Smith", 
    action: "[email protected]", 
    dob: "1985-10-10" 
}, { 
    name: "Jane Smith", 
    action: "[email protected]", 
    dob: "1988-12-22" 
}, { 
    name: "Jan Smith", 
    action: "[email protected]", 
    dob: "2010-01-02" 
}, { 
    name: "Jake Smith", 
    action: "[email protected]", 
    dob: "2009-03-21" 
}, { 
    name: "Josh Smith", 
    action: "[email protected]", 
    dob: "2011-12-12" 
}, { 
    name: "Jessie Smith", 
    action: "[email protected]", 
    dob: "2004-10-12" 
}]; 
}; 

дает мне эту ошибку ниже

Error: Parse error on line 1: 
...CT name as MY_NAME, action as MY_ACTION 
-----------------------^ 
Expecting 'LITERAL', 'BRALITERAL', 'LPAR', 'NUMBER', 'STRING', 'SHARP',  'DOLLAR', 'AT', 'COLON', 'NOT', 'PLUS', 'STAR', 'QUESTION', 'CURRENT_TIMESTAMP', 'JAVASCRIPT', 'NEW', 'CAST', 'CONVERT', 'SUM', 'COUNT', 'MIN', 'MAX', 'AVG', 'FIRST', 'LAST', 'AGGR', 'ARRAY', 'TRUE', 'FALSE', 'NSTRING', 'NULL', 'EXISTS', 'BRAQUESTION', 'CASE', 'MINUS', 'ATLBRA', 'LCUR', got 'ACTION' 
at Object.parseError (alasql.min.js:3) 
at Object.parse (alasql.min.js:3) 
at Function.alasql.parse (alasql.min.js:3)` 

ответ

3

действие является alasql ключевое слово. Чтобы решить эту проблему, я обернутый действие с [], как показано ниже

"[action] AS MY_ACTION," 

Это решило эту проблему