| --- |
| id: 'format' |
| title: 'Format' |
| --- |
| |
| <!-- |
| - Licensed to the Apache Software Foundation (ASF) under one or more |
| - contributor license agreements. See the NOTICE file distributed with |
| - this work for additional information regarding copyright ownership. |
| - The ASF licenses this file to You 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. |
| --> |
| |
| # Formatting |
| |
| This chapter introduces data formatting when writing data. |
| |
| ## Custom Format Writing |
| |
| ### Overview |
| |
| Supports date, number, or other custom formats through annotations. |
| |
| ### POJO Class |
| |
| ```java |
| @Getter |
| @Setter |
| @EqualsAndHashCode |
| public class ConverterData { |
| @ExcelProperty(value = "字符串标题", converter = CustomStringStringConverter.class) |
| private String string; |
| |
| @DateTimeFormat("yyyy年MM月dd日HH时mm分ss秒") |
| @ExcelProperty("日期标题") |
| private Date date; |
| |
| @NumberFormat("#.##%") |
| @ExcelProperty("数字标题") |
| private Double doubleData; |
| } |
| ``` |
| |
| ### Code Example |
| |
| ```java |
| @Test |
| public void converterWrite() { |
| String fileName = "converterWrite" + System.currentTimeMillis() + ".xlsx"; |
| FesodSheet.write(fileName, ConverterData.class) |
| .sheet() |
| .doWrite(data()); |
| } |
| ``` |
| |
| ### Result |
| |
|  |