我目前正在尝试使用NetSuite基于JavaScript的SuiteScript API为电子邮件附件生成Excel文件。现在,我生成CSV文件没有问题。这很简单。但Excel文件是请求的,我只有麻烦。总是给我带来麻烦的代码行如下:
var dataFile = nlapiCreateFile(dataFilename, "EXCEL", fileData);
它总是导致脚本崩溃。到目前为止,我已经尝试过简单的CSV样式数据格式化,并且我也尝试将XML格式用于数据,但这两种方法都不起作用。与此同时,我们将只发出一个CSV文件并将它们转换为XLS,但如果有人知道NetSuite的内容足以提供帮助,那将非常感激。如果有人想看到XML生成的代码,我可以添加它。
编辑:以下是为测试文件生成的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>
答案 0 :(得分:2)
试试这个:
var xlsFile = nlapiCreateFile('filename.xls', 'EXCEL', nlapiEncrypt(xmlString, 'base64'));
xlsFile.setFolder(folderID);
var fileID = nlapiSubmitFile(xlsFile);
答案 1 :(得分:0)
如果文件类型设置为EXCEL而不是 base64编码数据,然后再将其传递给nlapiCreateFile。
其他选项是提供纯文本CSV数据并将类型传递为 CSV 。可以通过MS Excel打开CSV文件