3

我使用 Google Chart Service 在 Google Apps Script 中为我的网络应用程序创建一个表格。
现在我有两个问题:

  1. 当我添加更多行和列时,列的宽度越来越小,直到出现滚动条为止。我添加了一个代码示例。我可以更改/增加图表的(最大)显示大小,以便没有滚动条吗?

  2. 我需要一个向右对齐的字符串列。对于字符串列,默认值是左对齐。我怎样才能改变这个?还有更多选项可以修改表格的格式(文本大小、颜色、粗体等)吗?

    function doGet() {
    var app = UiApp.createApplication();
    
    var data = Charts.newDataTable()
    .addColumn(Charts.ColumnType.STRING, "Name")
    .addColumn(Charts.ColumnType.STRING, "Gender")
    .addColumn(Charts.ColumnType.NUMBER, "Age")
    .addColumn(Charts.ColumnType.NUMBER, "Donuts eaten")
    .addColumn(Charts.ColumnType.NUMBER, "Donuts eaten")
    .addColumn(Charts.ColumnType.NUMBER, "Donuts eaten")
    .addColumn(Charts.ColumnType.NUMBER, "Donuts eaten")
    .addRow(["Michael", "Male", 12, 5])
    .addRow(["Michael", "Male", 12, 5])
    .addRow(["Elisa", "Female", 20, 7])
    .addRow(["Robert", "Male", 7, 3])
    .addRow(["John", "Male", 54, 2])
    .addRow(["Jessica", "Female", 22, 6])
    .addRow(["Aaron", "Male", 3, 1])
    .addRow(["Margareth", "Female", 42, 8])
    .addRow(["Miranda", "Female", 33, 6])
    .addRow(["Miranda", "Female", 33, 6])
    .addRow(["Miranda", "Female", 33, 6])
    .addRow(["Miranda", "Female", 33, 6])
    .addRow(["Miranda", "Female", 33, 6])
    .addRow(["Miranda", "Female", 33, 6])
    .build();
    
    var tableChart = Charts.newTableChart().setDataTable(data)
    .build();
    
    app.add(tableChart);
    
    return app;
    }
    
4

1 回答 1

4

关于第 1 页。有两种方法可以更改图表的宽度和高度。第一个是使用类的setDimensions方法TableChartBuilder。这种方法的一个缺点是无法在页面宽度/高度百分比中设置宽度/高度。第二种方法是使用同一个类的setOption方法。这种方法没有缺点。下面的代码演示了它。

关于第 2 页。不幸的是,现在无法对齐表格图表的列。据我所知,甚至不可能对齐位于表格图表引擎盖下的GWT 表格的列。您可以自由地在GAS 问题跟踪器上创建一个关于此缺失的功能请求。

function doGet() {
var app = UiApp.createApplication();

var data = Charts.newDataTable()
.addColumn(Charts.ColumnType.STRING, "Name")
.addColumn(Charts.ColumnType.STRING, "Gender")
.addColumn(Charts.ColumnType.NUMBER, "Age")
.addColumn(Charts.ColumnType.NUMBER, "Donuts eaten")
.addColumn(Charts.ColumnType.NUMBER, "Donuts eaten")
.addColumn(Charts.ColumnType.NUMBER, "Donuts eaten")
.addColumn(Charts.ColumnType.NUMBER, "Donuts eaten")
.addRow(["Michael", "Male", 12, 5])
.addRow(["Michael", "Male", 12, 5])
.addRow(["Elisa", "Female", 20, 7])
.addRow(["Robert", "Male", 7, 3])
.addRow(["John", "Male", 54, 2])
.addRow(["Jessica", "Female", 22, 6])
.addRow(["Aaron", "Male", 3, 1])
.addRow(["Margareth", "Female", 42, 8])
.addRow(["Miranda", "Female", 33, 6])
.addRow(["Miranda", "Female", 33, 6])
.addRow(["Miranda", "Female", 33, 6])
.addRow(["Miranda", "Female", 33, 6])
.addRow(["Miranda", "Female", 33, 6])
.addRow(["Miranda", "Female", 33, 6])
.build();

var tableChart = Charts.newTableChart().setDataTable(data);

//tableChart.setDimensions(1200, 100); // Uncomment this line if you wish to set dimentions in pixels.
tableChart.setOption('width', '100%');
tableChart.setOption('height', '100%');  


app.add(tableChart.build());

return app;
}
于 2012-09-24T18:25:38.377 回答