1

我正在使用 13 列和最多 10-12000 行的 Google 电子表格从日托机构收集服务数据。

为了创建每周服务报告,我通过以下语句将整个表提取到数组中:

//Fetch all required data and pack it into an array
  var DataRange = Konsoblatt.getRange(StartRow, 1, NumRows, ColumnEmailAddressTageseltern)   //Define required data range: all rows and columns up to the email address of the parents
  var AlleEintraege = DataRange.getValues();   //Fetch all data in defined range

这总是完美的。

要编译报告,我需要使用以下服务对获取的数据进行排序:

AlleEintraege.sort(ArraySort(ColumnDatumLeistung-1)); //Sort array for the date of the service

其中指的是:

function ArraySort(column) {
//Diese Funktion sortiert ein Array nach der Kolonne "column"
  return function (a,b) {
    a = a[column];
    b = b[column];
    return a == b ? 0 : (a < b ? -1 : 1)
  }
  return 0;
}

与电子表格的大小无关,这通常可以正常工作,但有时会导致“服务器错误”而没有更详细的描述。

我首先认为电子表格中的日期可能无效,但到目前为止还没有找到。当发生此服务器错误时,我需要做的就是按服务日期手动对电子表格进行排序,然后上述功能可以正常工作。

我在排序算法方面并没有真正的经验,并在互联网上复制了上面的示例作为示例。

关于我为什么不时遇到这个问题的任何想法?

非常感谢

亨氏

4

1 回答 1

1

这个错误最近也发生在我身上。我通过在排序之前将所有数据解析为相同类型来解决它。似乎存在将字符串与数字进行比较或反之亦然会触发问题的情况。

于 2013-04-29T13:28:30.083 回答