javascript - 如何在 Google Sheets Apps 脚本 CSV 导入中保留现有格式
问题描述
在重复导入同一张表时,大多数格式都会保留(例如颜色),但有些则不会(例如将列设置为 % 格式)。如何在重复导入 csv 之前保留工作表中的所有格式,例如重复更新工作表的脚本如下(其中“文件”是 Google Drive 上的 csv 文件):
var content = file.getBlob().getDataAsString(); # csv file on a Google Drive
var csvData = Utilities.parseCsv(content);
current_sheet.clearContents();
current_sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
解决方案
已解决:借助这篇文章:将值和格式从工作表复制到新的谷歌电子表格文档?
第一行和最后一行是解决方案:
var sNF = current_sheet.getDataRange().getNumberFormats();
var content = file.getBlob().getDataAsString(); # csv file on a Google Drive
var csvData = Utilities.parseCsv(content);
current_sheet.clearContents();
current_sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
current_sheet.getDataRange().setNumberFormats(sNF)
推荐阅读
- javascript - userData 未在 useState React JS 下定义
- python - 虚拟环境不能完全复制我的全局环境
- r - 从 JSON 响应创建数据框
- python - 创建一个for循环,为每列和groupby索引值创建一个直方图
- c# - Azure functionapp 教程:在 NU1101 停止:无法找到包 Microsoft.NET.Sdk.Functions
- django - Django REST Framework:如何定义嵌套视图集并获得更明确的lookup_field 名称?
- php - 如何通过 PHP 连接到远程服务器
- typescript - 如何在 TypeScript 中动态定义一个覆盖对象所有路径的联合类型?
- python - 无法使用 Kaleido 将绘图图像导出为 png
- python - Python 3.9.6 - 试图将标志设置为 False。不断收到错误 TypeError: '<' 在 'str' 和 'int' 的实例之间不支持