Java tutorial
/* * Copyright 2014 Objectos, Fbrica de Software LTDA. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package br.com.objectos.xls; import java.time.LocalDate; import java.time.ZoneId; import java.util.Date; import org.apache.poi.ss.usermodel.Cell; /** * @author marcio.endo@objectos.com.br (Marcio Endo) */ public class WorksheetRowWriterDate extends WorksheetRowWriter { private final LocalDate date; WorksheetRowWriterDate(WorksheetRow row, LocalDate date) { super(row); this.date = date; as_yyyy_mm_dd(); } public WorksheetRowWriterStyle format(String formatString) { setFormatString(formatString); return this; } public WorksheetRowWriterStyle as_dd_mm_yyyy() { return format("dd/MM/yyyy"); } public WorksheetRowWriterStyle as_dd_mm_yy() { return format("dd/MM/yy"); } public WorksheetRowWriterStyle as_yyyy_mm_dd() { return format("yyyy-MM-dd"); } @Override void write(Cell cell) { cell.setCellType(Cell.CELL_TYPE_NUMERIC); LocalDate cellValue = date; if (cellValue != null) { Date value = Date.from(cellValue.atStartOfDay(ZoneId.systemDefault()).toInstant()); cell.setCellValue(value); } } }