Как сделать простую таблицу из Excel с тяжелым форматированием - PullRequest
1 голос
/ 15 октября 2019

Я пытаюсь получить простое представление из таблицы Excel, представленной в виде большого представления, со множеством ячеек, объединенных вместе с пустыми строками, столбцами в качестве границ заполнения, так что это придает презентации представление, но делает невозможным получение данных с помощью простого сценария

следующим образом

  for (var i = 0; i < data.length; i++) {
     Logger.log('row: ' + Number(i+1));
    for (var j=0; j<30;j++) {
      if (data[i][j]!='' && data[i][j]!=undefined){
      myArr.push(data[i][j]);
      Logger.log(  data[i][j]); 
      };

    };


  };
};

фрагмент исходной таблицы Excel со слитыми ячейками https://i.imgur.com/MHUHCGy.png

, и я хочу преобразовать ее в нечто вроде https://imgur.com/a/YhZ56NM

1 Ответ

2 голосов
/ 15 октября 2019

Пожалуйста, попробуйте это:

function ConvertData()
{
    var myArr=[];
    var spreadsheet = SpreadsheetApp.getActive();
    var myRow = spreadsheet.getLastRow();
    //begin from row 2
    var beginRow =2;
    var myData = spreadsheet.getRange("E2:G" + myRow).getValues();
    for (i=0;i<(myRow-beginRow);i++)
    {
       myArr.push (myData[i]);
       if (i>0) 
       {
            if (myData[i][0]=="")
            {
                myArr[i][0]=myArr[i-1][0];
            }
            else
            {
                myArr[i][0]=myData[i][0];

            }
       }
    }

    for (i=0;i<(myRow-beginRow);i++)
    {
       Logger.log (myArr[i]);
    }  
}
...