在NetSuite的SuiteScript中创buildExcel文件

我目前正在尝试使用NetSuite的基于JavaScript的SuiteScript API为电子邮件附件生成一个Excel文件。 现在,我生成一个CSV文件没有问题。 这很容易。 但是一个Excel文件就是要求的,而且我没有任何问题, 总是给我带来麻烦的代码行如下:

var dataFile = nlapiCreateFile(dataFilename, "EXCEL", fileData); 

它总是导致脚本崩溃。 到目前为止,我已经尝试过简单的CSV风格的数据格式,我也尝试使用XML格式的数据,但都没有办法。 与此同时,我们将只是推出一个CSV文件,并将其转换为XLS,但如果有人知道NetSuite的东西足够的帮助,将不胜感激。 如果有人想看到XML代码的代码,我可以补充一点。

编辑:这是为testing文件生成的XML的示例…

 <?xml version="1.0"?> <ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"> <ss:Worksheet ss:Name="Sheet1"> <ss:Table> <ss:Row> <ss:Cell> <ss:Data ss:Type="String">Booth Number</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">Company</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">Address</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">City</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">State</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">Zip</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">Country</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">Telephone</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">Fax</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">Contact Name</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">Email</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">Booth Length</ss:Data> </ss:Cell> <ss:Cell> <ss:Data ss:Type="String">Booth Width</ss:Data> </ss:Cell> </ss:Row> </ss:Table> </ss:Worksheet> </ss:Workbook> 

尝试这个:

 var xlsFile = nlapiCreateFile('filename.xls', 'EXCEL', nlapiEncrypt(xmlString, 'base64')); xlsFile.setFolder(folderID); var fileID = nlapiSubmitFile(xlsFile); 

如果文件types设置为EXCEL,那么在将数据传递给nlapiCreateFile之前,将数据编码为base64。

其他选项是提供纯文本CSV数据并将其types传递为CSV 。 CSV文件可以通过MS Excel打开