如何通过suitescript创建Excel档案(附源码)
通过SuiteScript 2.0创建Excel文档可以通过一下语句实现:
//construct xml equivalent of the file
var xmlString = '<?xml version="1.0"?><?mso-application progid="Excel.Sheet"?>';
xmlString += '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" ';
xmlString += 'xmlns:o="urn:schemas-microsoft-com:office:office" ';
xmlString += 'xmlns:x="urn:schemas-microsoft-com:office:excel" ';
xmlString += 'xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" ';
xmlString += 'xmlns:html="http://www.w3.org/TR/REC-html40">';
xmlString += '<Worksheet ss:Name="Sheet1">';
xmlString += '<Table>' +
'<Row>' +
'<Cell><Data ss:Type="String"> First Header </Data></Cell>' +
'<Cell><Data ss:Type="String"> Second Header </Data></Cell>' +
'<Cell><Data ss:Type="String"> Third Header </Data></Cell>' +
'<Cell><Data ss:Type="String"> Fourth Header </Data></Cell>' +
'<Cell><Data ss:Type="String"> Fifth Header </Data></Cell>' +
'</Row>';
xmlString += '<Row>' +
'<Cell><Data ss:Type="String">Row 1 Column 1</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 1 Column 2</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 1 Column 3</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 1 Column 4</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 1 Column 5</Data></Cell>' +
'</Row>';
xmlString += '<Row>' +
'<Cell><Data ss:Type="String">Row 2 Column 1</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 2 Column 2</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 2 Column 3</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 2 Column 4</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 2 Column 5</Data></Cell>' +
'</Row>';
xmlString += '</Table></Worksheet></Workbook>';
//encode contents
var base64EncodedString = encode.convert({
string: xmlString,
inputEncoding: encode.Encoding.UTF_8,
outputEncoding: encode.Encoding.BASE_64
});
//create file
var xlsFile = file.create({name: 'TEST.xls', fileType: 'EXCEL', contents: base64EncodedString});
xlsFile.folder=1547;
//save file
var fileID = xlsFile.save();
使用SuiteScript 1.0
//construct xml equivalent of the file
var xmlString = '<?xml version="1.0"?><?mso-application progid="Excel.Sheet"?>';
xmlString += '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" ';
xmlString += 'xmlns:o="urn:schemas-microsoft-com:office:office" ';
xmlString += 'xmlns:x="urn:schemas-microsoft-com:office:excel" ';
xmlString += 'xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" ';
xmlString += 'xmlns:html="http://www.w3.org/TR/REC-html40">';
xmlString += '<Worksheet ss:Name="Sheet1">';
xmlString += '<Table>' +
'<Row>' +
'<Cell><Data ss:Type="String"> First Header </Data></Cell>' +
'<Cell><Data ss:Type="String"> Second Header </Data></Cell>' +
'<Cell><Data ss:Type="String"> Third Header </Data></Cell>' +
'<Cell><Data ss:Type="String"> Fourth Header </Data></Cell>' +
'<Cell><Data ss:Type="String"> Fifth Header </Data></Cell>' +
'</Row>';
xmlString += '<Row>' +
'<Cell><Data ss:Type="String">Row 1 Column 1</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 1 Column 2</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 1 Column 3</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 1 Column 4</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 1 Column 5</Data></Cell>' +
'</Row>';
xmlString += '<Row>' +
'<Cell><Data ss:Type="String">Row 2 Column 1</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 2 Column 2</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 2 Column 3</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 2 Column 4</Data></Cell>' +
'<Cell><Data ss:Type="String">Row 2 Column 5</Data></Cell>' +
'</Row>';
xmlString += '</Table></Worksheet></Workbook>';
//create file
var xlsFile = nlapiCreateFile('TEST.xls', 'EXCEL', nlapiEncrypt(xmlString, 'base64'));
xlsFile.setFolder(445);
//save file
var fileID = nlapiSubmitFile(xlsFile);