如何将数据从 google 电子表格存储到数据库(:- 只有最上面的第一行被存储到数据库

how to store data from google spreadsheets to database(:- only the top first row is getting stored to data base

public class AccountProjectSheet {

    public AccountProjectDTO spreadsheets() {
        SpreadsheetService service = new SpreadsheetService("Sheet1");
        AccountProjectDTO accountProjectDTO = new AccountProjectDTO(); //creating an object of AccountProjectDto class to assign values which are coming from spreadsheet
        try {
            //Read Data
            String sheetUrl = "https://spreadsheets.google.com/feeds/list/*******key********(just to maintain privacy)********/default/public/values";

            URL url = new URL(sheetUrl);
            // Get Feed of Spreadsheet url
            ListFeed lf = service.getFeed(url, ListFeed.class);
            //Iterate over feed to get cell value

            for (ListEntry le: lf.getEntries()) {
                CustomElementCollection cec = le.getCustomElements();
                //Pass column name to access it's cell values
                accountProjectDTO.setProjectCode(cec.getValue("projectCode"));
                accountProjectDTO.setProjectName(cec.getValue("projectName"));
                accountProjectDTO.setAccountCode(cec.getValue("accountCode"));
                accountProjectDTO.setAccountName(cec.getValue("accountName"));
                accountProjectDTO.setProjectManagerName(cec.getValue("projectManagerName"));
                accountProjectDTO.setDeliveryManagerName(cec.getValue("deliveryManagerName"));
                accountProjectDTO.setProjectStatus(cec.getValue("projectStatus"));
                accountProjectDTO.setProjectMetricsLink(cec.getValue("projectMatricsLink"));

                return accountProjectDTO;
            }
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        } catch (ServiceException e) {
            e.printStackTrace();
            return null;
        }
        return accountProjectDTO;
    }
}

我正在尝试将数据从 Google 表格获取到 Hana DB,但只有最上面的第一行受到影响。我想存储电子表格中的所有行

阅读代码,我假设您想获取 AccountProjectDTO 的列表,以便进一步将它们存储在数据库中。但是方法签名是错误的,因为方法 return 只有一个 AccountProjectDTO.

您正在 return 创建第一个 AccountProjectDTO,而不是构建所有 AccountProjectDTO 和 return 的列表。

从示意图上看,您应该将其替换为:

public AccountProjectDTO spreadsheets() {
    SpreadsheetService service = new SpreadsheetService("Sheet1");
    AccountProjectDTO accountProjectDTO = new AccountProjectDTO(); 
    [...]

        for (ListEntry le: lf.getEntries()) {
            [...]   
            return accountProjectDTO;
        }

这样 :

public List<AccountProjectDTO> spreadsheets() {
    SpreadsheetService service = new SpreadsheetService("Sheet1");
    List<AccountProjectDTO> result = new ArrayList<>();
    [...]

        for (ListEntry le: lf.getEntries()) {
            AccountProjectDTO accountProjectDTO = new AccountProjectDTO(); 
            [...]   
            result.add(accountProjectDTO);
        }
    return result;
}