在电子表格中导入 CSV 时替换 NULL 值

Replace NULL values when importing CSV in a Spreadsheet

使用此代码,我可以从 CSV 文件导入到我的 sheet。

现在,我会避免在单元格中显示 NULL 值并将它们替换为空值。

我可以在我使用的代码中添加什么?

function testf() {
  var response = UrlFetchApp.fetch("https://xxx.csv");
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var dest = ss.getActiveSheet();
  SpreadsheetApp.flush();
  var req = { pasteData: { data: response.getContentText(), delimiter: ",", coordinate: { sheetId: dest.getSheetId() } } };
  Sheets.Spreadsheets.batchUpdate({requests: [req]}, ss.getId());
}

Now, I would avoid to display NULL values in the cells and replace them with an empty value.开始,如果要将单元格中的NULL替换为空值,如下修改如何?

修改后的脚本:

function testf() {
  var response = UrlFetchApp.fetch("https://xxx.csv");
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var dest = ss.getActiveSheet();
  SpreadsheetApp.flush();
  var sheetId = dest.getSheetId();
  var reqs = [
    { pasteData: { data: response.getContentText(), delimiter: ",", coordinate: { sheetId } } },
    { findReplace: { find: "NULL", replacement: "", sheetId } }
  ];
  Sheets.Spreadsheets.batchUpdate({ requests: reqs }, ss.getId());
}
  • 在此修改中,插入 CSV 后,使用 batchUpdate 方法将单元格中 NULL 的值替换为 ""。在这种情况下,这个请求可以通过一个API调用运行。
  • 在您的脚本中,可能不需要使用 SpreadsheetApp.flush()

参考: