如何通过SuiteScript的file.create方法修改CSV文件的分隔符?
SuiteScript 修改CSV文件分隔符为竖线的解决办法
你遇到的问题是因为file.create()方法针对CSV类型文件,并没有separator这个配置参数,所以添加该参数不会生效。同时注意你代码里的isonline参数名有误,正确的是驼峰式的isOnline。
解决思路是直接在CSV内容层面替换分隔符,有两种常用方式:
方式一:构建CSV内容时直接使用竖线分隔
在生成stringValue的过程中,就把字段间的分隔符设为|。比如原本用数组join(',')的地方改成join('|'):// 示例:从数据行构建竖线分隔的CSV内容 var dataRows = [ ['姓名', '部门', '工号'], ['张三', '技术部', '001'], ['李四', '财务部', '002'] ]; // 每行用|分隔字段,行与行用换行符分隔 var stringValue = dataRows.map(row => row.join('|')).join('\n'); var csvFile = file.create({ name: fileName + '.csv', contents: stringValue, folder: ****, fileType: file.Type.CSV, isOnline: true });方式二:替换已有逗号分隔内容中的逗号
如果已经生成了逗号分隔的字符串,直接全局替换逗号为竖线:// 全局替换所有逗号为竖线 stringValue = stringValue.replace(/,/g, '|'); var csvFile = file.create({ name: fileName + '.csv', contents: stringValue, folder: ****, fileType: file.Type.CSV, isOnline: true });
注意:如果你的字段内容本身包含逗号,直接替换会破坏数据结构,这种情况建议在构建内容时就用竖线作为分隔符,同时确保字段内容里没有竖线(或者对包含竖线的字段做转义处理)。
内容的提问来源于stack exchange,提问作者Kenny Punay
相关产品推荐
相关产品推荐

