Как установить формат данных для строки в Excel?

Я пытаюсь установить тип данных для строки в формате Excel до даты («yyyy-MM-dd»), и для этого я написал следующий фрагмент кода:

.... Row r = null; CellStyle cellStyle = workbook.createCellStyle(); //CreationHelper createHelper = workbook.getCreationHelper(); cellStyle.setDataFormat( workbook.createDataFormat().getFormat("yyyy-MM-dd")); for(int i =0;i < 2;i++){ switch(i){ case 0: r = sheet.getRow(0); r.setRowStyle(cellStyle); break; case 1: r = sheet.getRow(1); r.setRowStyle(cellStyle); break; default: break; } } .... 

Я опубликовал форматирование только для первых двух строк для справки. Но когда я запускаю свой код и открываю лист Excel и проверяю формат ячеек в первых двух строках, тогда его общий. Изменения не отражены в листе Excel. Я не понимаю, что я сделал не так.

Если вы создаете этот лист excel с нуля, он еще не имеет строк. Я получаю getRow(0) NullPointerException на getRow(0) на новом листе. createRow(0) попробуйте использовать createRow(0) :

 public static void main(String[] args) throws JDOMException, IOException { File excelFile = new File("C:/temp/test.xls"); HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("sheetname"); Row r = null; CellStyle cellStyle = workbook.createCellStyle(); // CreationHelper createHelper = workbook.getCreationHelper(); cellStyle.setDataFormat(workbook.createDataFormat().getFormat("yyyy-MM-dd")); for (int i = 0; i < 2; i++) { switch (i) { case 0: r = sheet.createRow(0); r.setRowStyle(cellStyle); break; case 1: r = sheet.createRow(1); r.setRowStyle(cellStyle); break; default: break; } } try (FileOutputStream out = new FileOutputStream(excelFile)) { workbook.write(out); } Desktop.getDesktop().open(excelFile); } 
  • Apache POI устанавливает выбранную ячейку после открытия документа xls
  • Java для Excel - динамические обновления
  • Создание файла Excel справа налево из Java
  • Ошибка Apache POI .getCell (), java.lang.NullPointerException Не удается прочитать ячейку, если пустая
  • Добавление данных в ArrayList при чтении данных из Excel с использованием POI Apache
  • apache poi так медленно читает файл xlsx
  • Apache POI «умная перетаскивающая» ячейка
  • Создание отчета в виде листа Excel fron json array в java
  • Ошибка при записи в файл xls - многопоточность apache poi
  • POI setColumnWidth - ширина символа?
  • IllegalArgumentException при экспорте в Excel с использованием Apache POI Api
  • Interesting Posts

    Как подмножить текст из ячейки Excel

    Excel Macro Userform – отдельный код, обрабатывающий несколько флажков

    Excel: пропуски значений из RANK

    Прочитайте определенный столбец определенного диапазона ячеек и сохраните значения, используя Pandas

    Как я могу суммировать столбец больших часов: mins: seconds цифры в excel?

    COUNTIF с IFERROR в диапазоне

    Как добавить пустые пробелы между значениями в массив vba?

    Чтение файла excel по строкам, ячейка по ячейке C #

    Копирование ячеек из одной книги в другую работает на шаге, но не при запуске

    Как добавить данные из листа данных на другой лист с помощью кнопки макроса?

    VBA Excel 2010 – ошибка времени выполнения 1004 при использовании диапазона

    Сортировка данных путем вставки и копирования и вставки специальных

    Копирование данных Excel в текстовый файл – Java (POI)

    Векторизация логических операторов в Excel

    Запретить закрытие книги

    Давайте будем гением компьютера.