我正在嘗試使用NetSuite的基於JavaScript的SuiteScript API爲電子郵件附件生成Excel文件。現在,我生成一個CSV文件沒有問題。這很容易。但是一個Excel文件就是要求的,而且我沒有任何問題,只有麻煩了。總是給我帶來麻煩的代碼行如下:在NetSuite的SuiteScript中創建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>
什麼是FILEDATA? netsuite文檔給出了關於二進制文件格式的混合信息。在一個地方,它說二進制內容必須是base-64編碼,而在另一個地方說「nlapiCreateFile函數不支持創建非文本文件類型」。 – Craig