使用Alasql可以用空stringreplace空列

在我的angular度控制器我有ExportToExcel函数,这是使用alasql导出数据到Excel和数据来自angular度数组。 问题是数组可能包含null作为数据,是否将alasql中的nullreplace为空string

以下是function

ac.ExportToExcel = function () { var time = new Date().toJSON().slice(0, 10); alasql('SELECT * INTO XLSX("ExchangeReport' + time + '.xlsx",{headers:true}) FROM ? WHERE BillingPeriod = "' + ac.ExchangeReport.BillingPeriod + '" or "' + ac.ExchangeReport.BillingPeriod + '" = "" ', [ac.ExchangeDatas]); } 

这是我的数据源

 ac.ExchangeDatas = []; 

  ac.GetAllExchangeData = function () { AccountRepository.GetAllExchangeData().$promise.then( function (data) { ac.ExchangeDatas = data.result; }, function (err) { console.log("error in GetAllExchangeData : " + err); } ); } 

excel中的数据:

在这里输入图像说明

 var old = JSON.stringify($scope.achData).replace(/null/g, '""'); //convert to JSON string and puts empty string in place of null values var newArray = JSON.parse(old); //convert back to array alasql('select * into XLSX("amar.xlsx", {headers:true}) from ?', [newArray]); 

你应该可以使用COALESCE ,尽pipe你需要列出像COALESCE(YourColumn,'') AS YourColumn而不是*所有列。 请参阅https://github.com/agershun/alasql/wiki/Coalesce