Google电子表格脚本 - 如何从.getValues中拆分对象[] []?

时间:2013-11-30 06:07:52

标签: google-apps-script google-sheets

我想从Google文档中的50多个站点导入xml,并将该信息填充到另一张表格中,最好覆盖已存在的数据,以防止出现明确的功能。我遇到的问题是我正在接受

={229999999.99;0;0;183000000;169999999.99;209999999.99} 

在一个单元格中。如何将其拆分为不同列中的六个数字但是同一行?

这是我的代码:

    function Xml() {

      var sheet = SpreadsheetApp.getActiveSpreadsheet();
      var s = sheet.getSheetByName('Script');
      var ss = sheet.getSheetByName('TradeIBuy');
      var Num = Browser.inputBox("How many URLs to scrape");


    for (y=0;y<2;y++) {

      for (x=2;x-2 < Num;x++)  {
        //ss.getRange("b4:n400").setValue(""); //Too slow for spreadsheet
        var url = s.getRange(x,1).getValue(); //Grab URL
        s.getRange(2,6).setValue(url); //Move URL into position
        var xpathResult = s.getRange("F3:F8").getValues(); //Grab results from first sheet
       if (y===1){     
         var export = ss.getRange(x+2,2); //Export position
         export.setValue(xpathResult); //Export data to second sheet
         SpreadsheetApp.flush();
       }

      }

     }

    }

    function clear() {
      var sheet = SpreadsheetApp.getActiveSheet();    
      sheet.getRange("a2:b1000").setValue("");
    }

谢谢〜钱德勒

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,我认为有一个没有脚本的解决方案。

=SPLIT(SUBSTITUTE(SUBSTITUTE(ImportXML(blah,blah),"}",""),"{",""),";")

...会将{229999999.99;0;0;183000000;169999999.99;209999999.99}更改为:

229999999.99    0   0   183000000   169999999.99    209999999.99

...每个数字都在自己的单元格中。

  • SPLIT在给定的分隔符处打破一个字符串,在这种情况下为;
  • SUBSTITUTE被用来剥去大括号。