首页 > 解决方案 > 如何在 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);

标签: javascriptgoogle-sheets

解决方案


已解决:借助这篇文章:将值和格式从工作表复制到新的谷歌电子表格文档?

第一行和最后一行是解决方案:

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)

推荐阅读