列属性未应用

时间:2015-04-15 14:28:34

标签: javascript google-apps-script column-types

我可以调用setRowStyleAttribute来获得正确显示的flextable(见下文)。但是,当我尝试拨打setColumnStyleAttribute时,没有任何反应。

我还希望{B}格式化Column 0

我没有收到任何错误消息。

function doGet(){
  var app = UiApp.createApplication();
  var panel = app.createVerticalPanel();
  var flexTable = app.createFlexTable().setStyleAttribute('border', '1px solid     black')
    .setStyleAttribute('borderCollapse','collapse')
    .setBorderWidth(1); 

  //Add Spreadsheet Key Here
  var spreadsheetId = 'MY KEY';
  var dataArray = getData(spreadsheetId);

  for (var row = 0; row<dataArray.length; row++){
    for (var col = 0; col<dataArray[row].length; col++){
      flexTable.setText(row, col, dataArray[row][col].toString());
    }
  }

  panel.add(
    flexTable.setRowStyleAttribute(1, 'fontWeight', 'bold')
             .setRowStyleAttribute(6, 'fontWeight', 'bold')
             //Set Column 0 to Bold?
             .setColumnStyleAttribute(0, 'fontWeight', 'bold')
  );
  app.add(panel);
  return app;
}




function getData(spreadsheetId){
  var ss = SpreadsheetApp.openById(spreadsheetId);
  //Select Which Sheet and The Range ---> (StartingRow, StartingCol, LengthRow, LengthCol)
  var sheet = ss.getSheetByName('Sheet1').getRange(2,12,7,7);
  return sheet.getValues();
}

1 个答案:

答案 0 :(得分:0)

编辑:

我已经玩过这个并找到了&#39; font-weight&#39;不适用于setColumnStyleAttribute。我尝试过的所有其他属性似乎都有效,而不是那个。

当然,UiApp已经过折旧。虽然看起来他们没有把它关掉,如果有什么破坏他们不会解决它。他们可以随时关闭它,恕不另行通知。

以下是一项解决方法,您可以在我们添加数据时设置调用中的样式:

 for (var row = 0; row<dataArray.length; row++){
    for (var col = 0; col<dataArray[row].length; col++){
      flexTable.setText(row, col, dataArray[row][col].toString());
      flexTable.setStyleAttribute(row, 0, 'font-weight', 'bold');
    }
  }

原帖:

我认为使用caja属性是&#39; font-weight&#39;。请参阅caja白名单以供参考。 https://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/lang/css/css3-whitelist.json