【问题标题】:How to use Google API's (in JAVA) for fetching a specific row/column in a spreadsheet?如何使用 Google API(在 JAVA 中)获取电子表格中的特定行/列?
【发布时间】:2026-02-07 19:45:01
【问题描述】:

我正在编写一个代码,我需要在其中访问已上传到我的 GDrive 上的电子表格的特定列。我找到了我的项目所需的 Java API。

https://developers.google.com/google-apps/spreadsheets/#fetching_specific_rows_or_columns

我也已经安装了:Mercurial、Maven 和 Google PlugIn for eclipse。

现在当我运行我的代码时,出现以下错误:“com.google.gdata.client.GoogleService 类型无法解析。它是从所需的 .class 文件中间接引用的”

在我看来,这个错误可能是因为在 google API 中给出了访问特定电子表格的路径/URL:

URL SPREADSHEET_FEED_URL = 新 URL( "https://spreadsheets.google.com/feeds/spreadsheets/private/full");

请帮忙!!

【问题讨论】:

  • 您能发布您的 build.gradle 文件吗?另外,请确保您的项目与 gradle 同步。

标签: java google-api google-sheets google-apps google-spreadsheet-api


【解决方案1】:

您是否已下载所需的 Google Data API 客户端库?如果没有,请确保已下载这些库并检查此link

这似乎是依赖:http://mvnrepository.com/artifact/com.google.gdata/core/1.47.1

希望有帮助!

【讨论】:

    【解决方案2】:

    Google 电子表格 API 文档 (Fetching specific rows or columns) 建议以下内容...作为电子表格的特定工作表实例的工作表,假设 6 是您想要获取的值的列列表:

            URL cellFeedUrl = new URI(worksheet.getCellFeedUrl().toString() +
                    "?min-row=2&min-col=6&max-col=6").toURL();
    
            CellFeed cell = service.getFeed(cellFeedUrl, CellFeed.class);
    
            for(CellEntry eachCellEntry : cell.getEntries()){
                // prints value of each cell in column 6 but the title
                log.info(eachCellEntry.getCell().getValue());
            }
    

    我不喜欢在使用 CellFeed 时手动为 URL 传递字符串中的硬编码参数...比如 min-row、min-col、max-col...我正在努力寻找更好的方法方法来做到这一点,也许使用查询。

    【讨论】:

      最近更新 更多