【发布时间】:2020-05-28 02:41:11
【问题描述】:
希望您能提供帮助。
我在 SuiteScript 2.0 中有一个预定脚本,它执行以下操作:
1) 从文件柜加载一个 XML 文件(代码如下 sn-p):
var fileObj = FILEMODULE.load({id: fileId });
if (fileObj.size < 10485760){
log.debug('units to start with', RUNTIMEMODULE.getCurrentScript().getRemainingUsage());
log.debug('file contents', fileObj.getContents());
return fileObj.getContents();
}
此 XML 文件用作生成 Excel 的模板。
2) 运行保存的搜索并在结果循环内调用函数来制定行和单元格:
content += '<Row>'
content += '<Cell ss:StyleID="s67"><Data ss:Type="String">' + data + '</Data></Cell>';
循环结束,我们用"</Row>"关闭"<Row>"
3) 最后,我们将最后一段 HTML 代码添加到用于 Excel 文件内容的内容字符串中:
content += '</Table></Worksheet></Workbook>';
4) 创建文件,并上传到文件柜
var xlsFile = FILEMODULE.create({name: 'TEST.xls', fileType: 'EXCEL', contents: base64EncodedString});
xlsFile.folder=1173; //folder name=XML Templates
var fileID = xlsFile.save();
但是....
5) 在没有数据的情况下打开,它工作正常(这证实了 XML 模板是好的)。
6) 从搜索中打开 2 行数据后,它工作正常。所有 26 列都打印在单元格中。
7) 在此之后,添加超过 2 行会导致损坏错误。文件拒绝打开。
我在网上使用 XML 美化工具检查了 xml 代码,老实说,第 1 行和第 2 行的代码,从第 3 行开始看起来并没有太大区别。
在 Notepad++ 上检查 excel 文件以检查 xml 代码,所有新行都注册为一行(而不是新行) - 请注意在第 169 行停止的屏幕截图...这可能是为什么吗?
任何有关诊断此问题的想法将不胜感激。
注意:初始模板是通过在 Excel 上以我想要的样式/格式创建标题,然后保存为“XML 电子表格”来构建的。
【问题讨论】:
标签: excel netsuite suitescript2.0