首页 > 解决方案 > 在谷歌表格中格式化 JSON 数据导入

问题描述

在会员/朋友@Tanaike 的帮助下,我们能够开发一个代码来从 JSON 列表中导入数据,但是“价格”字段中的数据导入如下“16 .4700000000”,我只想导入' 之后的前 2 位数字。' 得到“16.47”。

你能帮我完成这个任务吗?

这是我正在使用的当前代码:

  // Call the Bling API
  var response = UrlFetchApp.fetch("https://bling.com.br/Api/v2/produtos/json&apikey=APIKEY?imagem=S&estoque=S");
  //Logger.log(response.getContentText());
   // Parse the JSON reply
  var json = response.getContentText();
  var data = JSON.parse(json);

  // Aquisição de dados.
  var values = data.retorno.produtos.map(({produto: {codigo, gtin, descricao, preco, situacao}}) => [codigo, gtin, descricao, preco, situacao]);
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("produtos");
  sheet.getRange(/*sheet.getLastRow() + */ 2, 1, values.length, values[0].length).setValues(values); ```

标签: google-apps-scriptgoogle-sheets

解决方案


这是我的一个项目中的一个片段,我在其中设置了数字格式以及边框和背景。

  sheet.getRange(summaryAnnRetsFirstRow, 1, summaryAnnRetsLen, 4).setValues(summaryAnnRets);
  sheet.getRange(summaryAnnRetsFirstRow,2, summaryAnnRetsLen, 2).setNumberFormat("$#,##0;$(#,##0)");
  sheet.getRange(summaryAnnRetsFirstRow,4, summaryAnnRetsLen, 1).setNumberFormat("0.00%");
  sheet.getRange(summaryAnnRetsFirstRow,1, summaryAnnRetsLen, sheet.getLastColumn()).setBorder(true, true, true, true, true, true, 'black', SpreadsheetApp.BorderStyle.SOLID_LIGHT);
  sheet.getRange(summaryAnnRetsFirstRow,1, summaryAnnRetsLen, sheet.getLastColumn()).setBackground("#bdd4f9");

推荐阅读