相关疑难解决方法(0)

Google Sheet API v4 插入新行

我使用 Google Sheet API v4,我想在工作表中插入新行。我尝试了https://developers.google.com/sheets/api/guides/values#appending_values 但这样只需插入数据,我想将数据添加到特定列,如下所示:有没有办法在上添加行使用 java 的没有 OAuth 的 Google 电子表格? 这是一个如何使用 api v3 执行此操作的示例

    row.getCustomElements().setValueLocal("id", "21");
    row.getCustomElements().setValueLocal("type", si.getType().toString());
    row.getCustomElements().setValueLocal("longitude", String.valueOf(si.getLongitude()));
    row.getCustomElements().setValueLocal("latitude", String.valueOf(si.getLatitude()));
    row.getCustomElements().setValueLocal("last_maint", String.valueOf(si.getLast()));
    row.getCustomElements().setValueLocal("inst_date", String.valueOf(si.getInst()));

    row = service.insert(listFeedUrl, row);
Run Code Online (Sandbox Code Playgroud)

我怎样才能使用 api v4.1 做同样的事情?

android google-sheets

5
推荐指数
1
解决办法
2万
查看次数

如何将获取的单元格数据的值读取为日期Google Sheets API

我有一个电子表格,其日期格式设置为“ Jan 30”等,但具有实际的日期值。

在此处输入图片说明

我使用python Google Sheets API提取数据,如下所示:

def get_spreadsheet_sheets(service, spreadsheetId):
    spreadsheet = service.spreadsheets().get(spreadsheetId=spreadsheetId).execute()
    dateCell = "C15"
    for sheet in spreadsheet['sheets']:
        sheetTitle = sheet['properties']['title']
        rangeName = "%s!%s" % (sheetTitle, dateCell)
        result = service.spreadsheets().values().get(
            spreadsheetId=spreadsheetId, range=rangeName).execute()
        values = result.get('values',[])
Run Code Online (Sandbox Code Playgroud)

值给我“ 1月30日”,我想读成1/30/2017..我该怎么做?

更新

深入研究电子表格sheets.value.get http文档(与此处的python api客户端方法参考相对应,我了解到可以将valueRenderOptionas设置为UNFORMATTED_VALUE..

但是当我运行时,我得到了这个奇怪的数字Jan 3042765

在此处输入图片说明

这个数字到底是什么格式?我知道这不是unix时间戳b / c转换,返回的日期不合理

更新2:解决方法

此代码有效,但使用python日期格式(它还假定年份为当前年份。但是显然并非总是如此):

def get_spreadsheet_sheets(service, spreadsheetId):
    spreadsheet = service.spreadsheets().get(spreadsheetId=spreadsheetId).execute()
    dateCell = "C15"
    for sheet in spreadsheet['sheets']:
        sheetTitle = …
Run Code Online (Sandbox Code Playgroud)

python date date-formatting google-sheets-api

5
推荐指数
1
解决办法
1502
查看次数

Google Sheets API 返回“无效值[3][1]:struct_value {\n}\n”错误

我正在使用适用于 Java 的 Google Sheets API v4用一些值填充电子表格:

String spreadsheetID = ...;
Spreadsheets service = new Sheets.Builder(GoogleNetHttpTransport.newTrustedTransport(),
    JacksonFactory.getDefaultInstance(), credential).setApplicationName("Test").build().spreadsheets();

List<List<Object>> content = new ArrayList<>();
content.add(Arrays.asList("Client", "John Doe"));
content.add(Arrays.asList("Date", new Date()));
service.values().update(spreadsheetID, "Sheet1!C3:D4",
    new ValueRange().setValues(content)).setValueInputOption("RAW").execute();
Run Code Online (Sandbox Code Playgroud)

但调用时出现以下错误execute()

String spreadsheetID = ...;
Spreadsheets service = new Sheets.Builder(GoogleNetHttpTransport.newTrustedTransport(),
    JacksonFactory.getDefaultInstance(), credential).setApplicationName("Test").build().spreadsheets();

List<List<Object>> content = new ArrayList<>();
content.add(Arrays.asList("Client", "John Doe"));
content.add(Arrays.asList("Date", new Date()));
service.values().update(spreadsheetID, "Sheet1!C3:D4",
    new ValueRange().setValues(content)).setValueInputOption("RAW").execute();
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

java google-sheets-api

4
推荐指数
1
解决办法
4911
查看次数

Google 电子表格的 Java 纪元日期

我试图在 Google 电子表格上添加日期。为了添加日期,我们在纪元中转换了日期。

对于电子表格时代

Google 表格使用电子表格中常用的一种纪元日期形式。值的整数部分(小数点左边)计算自 1899 年 12 月 30 日以来的天数。小数部分(小数点右边)将时间计算为一天的分数。例如,1900 年 1 月 1 日中午是 2.5,2 因为它是 1899 年 12 月 30 日之后的两天,0.5 因为中午是半天。1900 年 2 月 1 日下午 3 点将是 33.625。

我们使用 Joda 时间 API 进行计算。(我们的 JDK 版本 1.7)。

对于整数,我们使用以下代码。

public static double getEpochDate(Date inputDate)
{

    MutableDateTime epoch = new MutableDateTime();
    epoch.setTime(0, 0, 0, 0);
    epoch.setDate(1899,12,30); //Set to Epoch time
    System.out.println(epoch);
    DateTime now = new DateTime(inputDate);
    Days days = Days.daysBetween(epoch, now);


    return Double.valueOf(days.getDays());
}
Run Code Online (Sandbox Code Playgroud)

我们正面临寻找时代编号的派系部分的问题

java spreadsheet epoch google-spreadsheet-api google-sheets-api

0
推荐指数
1
解决办法
1101
查看次数