2015-11-19 99 views
2

我使用alasql導出到Excel,我試圖做下面這樣的自定義標題。所有其他字段名除非它是「action」字段名稱「動作」導致問題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," 

行動這解決了這個問題