gpt4 book ai didi

java - 如何绕过 Google Sheets V4 API 不返回空单元格

转载 作者:行者123 更新时间:2023-11-30 10:41:47 27 4
gpt4 key购买 nike

我有一个包含多个列的 google 表格。我们用它来保存测试帐户的登录名/密码组合。我被要求自动执行每 90 天更改每个帐户密码的过程以满足 IT 要求。

我决定使用 Java 和 GoogleSheets V4 API。我需要打开工作表并收集所有行并遍历它们。对于每一行,获取登录 ID 和密码,生成新密码,更改密码,然后用新密码和旧密码写回该行。

现在,我的绊脚石是对于连续没有内容的单元格,它不会返回任何内容。因此,一行将有 5 列,一行将有 4 列。而且我无法知道哪一列是空的,因此没有返回。

是否有解决方案让它返回空单元格?

    range = "'Functional Users'!A" + rowCount + ":E" + rowCount;
response = service.spreadsheets().values().get(spreadsheetId, range).execute();
values = response.getValues();
cells = values.get(0);
while (cells != null || cells.size() != 0)
{
//Iterate through the columns in the row (NOTE: If a column is blank, it will be missing here)
//Cells(0) = Domain
//Cells(1) = Ignored
//Cells(2) = Account Name
//Cells(3) = Email
//Cells(4) = Password Status (Soon to be deprecated)
if (cells.size() == 5)
{

最佳答案

我有一个类似的用例,并使用“CellFeeds”来解决这个问题。

我从 Google 电子表格中提取了所有行和列,但遇到了一个问题,即空值/空值被遗漏并且列数始终受到影响。

您可以尝试将“return-empty=true”作为查询参数添加到 CellFeed 的 URL。它将空值返回为 null,而不是规避这些空值。

可以引用this page有关使用基于单元的提要的详细文档。

以下代码可能会帮助您解决问题:

SpreadsheetService service =
new SpreadsheetService("MyService");

URL SPREADSHEET_FEED_URL = new URL(
"https://spreadsheets.google.com/feeds/cells/"+ "SpreadSheetID" +"/default/public/values"); //Replace SpreadSheetID with your spreadsheet ID, Note: Here the spreadsheet is shared publicly. If it is not published publicly, you need to change the URL and also workaround with the API keys.

// Fetch the first 10 rows of the spreadsheet
URL cellFeedUrl;
try {
cellFeedUrl = new URI(SPREADSHEET_FEED_URL.toString()
+ "?return-empty=true&min-row=1&max-row=10").toURL(); //Here, return-empty=true is important
CellFeed cellFeed = service.getFeed(cellFeedUrl, CellFeed.class);

// Iterate through each cell, printing its value.
for (CellEntry cell : cellFeed.getEntries()) {
System.out.println(cell.getCell().getValue() + "\t");
}
}
catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

结果将为您提供前 10 行,包括空单元格为 null,而不影响列排列。

希望这对您有所帮助。

关于java - 如何绕过 Google Sheets V4 API 不返回空单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38398439/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com