Google 工作表列数
Google Sheets Number of columns
我想阅读 sheet 并且我想知道它的维度(列数、行数)。
获得这些最简单的方法是什么?来自
Get get = Sheets.getSheetsService().spreadsheets().values().get(spreadsheetId, sheetRange);
我想知道包含数据的列数,我不想知道 sheet 的实际大小,因为可能有很多空单元格。
这有可能吗?
当您说“不想要 sheet 的实际大小,因为可能有很多空单元格。”不确定您的意思是您只想要最大数据范围,last row
和 last col
数据?或者只是包含数据的行数和列数
如果最后一个 row/col 数据范围,您可以使用 spreadsheets.values.get() and find the length
of the returned values 作为行,然后使用列表中最大的 array.length
作为 last column
数据。
这是有效的,因为 returned values 排除了额外的空行和列:
For output, empty trailing rows and columns will not be included.
使用 google 应用程序脚本和 javascript 的示例可以在 google 应用程序脚本中进行测试
[希望您能了解该过程 - 还没有有段时间没用过 Java,不希望它成为一个混乱点]
function getDimensions () {
var data = Sheets.Spreadsheets.Values.get("SPREADSHEET_ID","SHEET_NAME");
// returned value list[][]
var arr = data.values;
// last row with data
var rows = arr.length;
// last column with data
var cols = arr.reduce(function(accumulator, el, i) {
if (i == 1) { accumulator = accumulator.length }
return Math.max(accumulator, el.length);
});
}
编辑: 获取列的一种简单方法是在 Sheets.Spreadsheets.Values.get("ID","SN", {majorDimension: "COLUMNS"})
中添加 majorDimension
参数,然后在 arr.length
returns 列长度
从那里您可以过滤掉包含数据的列或行之间的空列或行 - 以获得仅数据的计数 rows/cols;据我所知,无法从 API 本身获得该计数。
我想阅读 sheet 并且我想知道它的维度(列数、行数)。
获得这些最简单的方法是什么?来自
Get get = Sheets.getSheetsService().spreadsheets().values().get(spreadsheetId, sheetRange);
我想知道包含数据的列数,我不想知道 sheet 的实际大小,因为可能有很多空单元格。
这有可能吗?
当您说“不想要 sheet 的实际大小,因为可能有很多空单元格。”不确定您的意思是您只想要最大数据范围,last row
和 last col
数据?或者只是包含数据的行数和列数
如果最后一个 row/col 数据范围,您可以使用 spreadsheets.values.get() and find the length
of the returned values 作为行,然后使用列表中最大的 array.length
作为 last column
数据。
这是有效的,因为 returned values 排除了额外的空行和列:
For output, empty trailing rows and columns will not be included.
使用 google 应用程序脚本和 javascript 的示例可以在 google 应用程序脚本中进行测试
[希望您能了解该过程 - 还没有有段时间没用过 Java,不希望它成为一个混乱点]
function getDimensions () {
var data = Sheets.Spreadsheets.Values.get("SPREADSHEET_ID","SHEET_NAME");
// returned value list[][]
var arr = data.values;
// last row with data
var rows = arr.length;
// last column with data
var cols = arr.reduce(function(accumulator, el, i) {
if (i == 1) { accumulator = accumulator.length }
return Math.max(accumulator, el.length);
});
}
编辑: 获取列的一种简单方法是在 Sheets.Spreadsheets.Values.get("ID","SN", {majorDimension: "COLUMNS"})
中添加 majorDimension
参数,然后在 arr.length
returns 列长度
从那里您可以过滤掉包含数据的列或行之间的空列或行 - 以获得仅数据的计数 rows/cols;据我所知,无法从 API 本身获得该计数。