2016-10-26 3 views
1

Поздравительных,Как использовать Google Java API Sheet V4 для форматирования ячеек в номере и дату

Я пытаюсь добавить форматирование моих Google Таблицы с помощью API V4 Java.

Следующий код - мое лучшее понимание того, что требуется для форматирования ряда столбцов и строк типа NUMBER с одной целочисленной цифрой. Также есть один столбец с форматом DATE. Код не возвращает никаких ошибок, но также не изменяет форматирование на моем листе, так что числовые значения и дата eash имеют раздражающий апостроф перед каждым значением, как «5» и «26 октября 2016 года 13:34». Я пытаюсь отформатировать поля, чтобы удалить этот апостроф, который лист автоматически добавляет.

Любые идеи, что я делаю неправильно?

public static void setProperties(String spreadsheetId, int length) throws IOException { 


    List<Request> requests = new ArrayList<>(); 

    requests.add(new Request() 
      .setRepeatCell(new RepeatCellRequest() 
        .setCell(new CellData() 
          .setUserEnteredFormat(new CellFormat().setNumberFormat(new NumberFormat().setPattern("0").setType("NUMBER")))) 
        .setRange(new GridRange() 
          .setSheetId(0) 
          .setStartRowIndex(3) 
          .setEndRowIndex(2 + length) 
          .setStartColumnIndex(3) 
          .setEndColumnIndex(22)) 
        .setFields("userEnteredFormat.numberFormat") 
      )); 
    requests.add(new Request() 
      .setRepeatCell(new RepeatCellRequest() 
        .setCell(new CellData() 
          .setUserEnteredFormat(new CellFormat().setNumberFormat(new NumberFormat().setPattern("0").setType("NUMBER")))) 
        .setRange(new GridRange() 
          .setSheetId(0) 
          .setStartRowIndex(3) 
          .setEndRowIndex(2 + length) 
          .setStartColumnIndex(24) 
          .setEndColumnIndex(24)) 
        .setFields("userEnteredFormat.numberFormat") 
      )); 
    requests.add(new Request() 
      .setRepeatCell(new RepeatCellRequest() 
        .setCell(new CellData() 
          .setUserEnteredFormat(new CellFormat().setNumberFormat(new NumberFormat().setPattern("mmm dd yyyy hh+:mm").setType("DATE")))) 
        .setRange(new GridRange() 
          .setSheetId(0) 
          .setStartRowIndex(3) 
          .setEndRowIndex(2 + length) 
          .setStartColumnIndex(23) 
          .setEndColumnIndex(23)) 
        .setFields("userEnteredFormat.numberFormat") 
      )); 

    BatchUpdateSpreadsheetRequest batchUpdateRequest = new BatchUpdateSpreadsheetRequest() 
      .setRequests(requests); 
    SHEETS.spreadsheets().batchUpdate(spreadsheetId, batchUpdateRequest) 
      .execute(); 
} 




    <dependency> 
     <groupId>com.google.apis</groupId> 
     <artifactId>google-api-services-sheets</artifactId> 
     <version>v4-rev21-1.22.0</version> 
    </dependency> 

Спасибо, Конте

+0

Не уверен, что это помогает, но вы проверили дату и [Руководство по форматам номеров] (https://developers.google.com/sheets/guides/formats) для API-интерфейсов? – noogui

+0

Да, я рассмотрел этот документ при разработке кода. Я считаю, что шаблоны верны. – conteh

ответ

0

Проверить этот вопрос Google Sheet API V4(Java) append Date in cells, где сообщается подобная проблема.

Кроме того, я использовал API-интерфейс API-интерфейса Google V3 и API-интерфейс API-интерфейса Google V4, который не существует в версии 3.

+0

Спасибо, да, проблема связана с моими объявлениями типов. Я объявлял массивы String для массивов числовых данных, потому что я не делал расчет по этим данным. Были только ранжирования между 1-5. Когда я изменил тип из массива String в массив Integer, тогда апостроф ушел. Аналогично, дата, которую я преобразовал в форматированную строку в коде перед добавлением или кодом для установки шаблона. Если я просто загружу тип даты, то апостроф будет удален. – conteh

+0

У меня возникали аналогичные проблемы с типами дат, когда я использовал v4, но для целей проекта мне приходилось откатываться к v3, который случайно удалился от вопроса о апострофе, который у меня был. Я буду помнить об этом, если мне придется снова использовать библиотеку. –

Смежные вопросы