Как отформатировать динамически генерируемую ячейку
Я пытаюсь создать динамический отчет Excel с использованием библиотеки JXLS.
Ниже приведен шаблон jXLS, который я использую в качестве входных данных.
|<jx:forEach items="${headers1}" var="header"> | ${header.headerText} | </jx:forEach>|
|<jx:forEach items="${rows1}" var="rowItem"> | | |
|<jx:forEach items="${rowItem.columns}" var="cell">| ${cell.value} |</jx:forEach> |
|</jx:forEach> | | |
Благодаря этому я могу создать отчет в формате Excel с количеством столбцов, возвращаемых набором результатов запроса и значениями. Но проблема, с которой я сталкиваюсь, заключается в том, как отформатировать ячейки, если столбец является столбцом даты. Я не могу применить формат в шаблоне jXLS как отдельную ячейку, представляющую все ячейки в отчете. Вот определение Cell.java
public class Cell {
public Cell(Object value) {
super();
this.value = value;
}
private Object value;
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
}
Как я могу применить форматирование к ячейкам динамически?
1 ответ
JXLS просто использует форматирование, которое вы указали в своем шаблоне. Для динамических данных у них теперь есть очень удобная команда grid, которая имеет атрибут formatCells
, Он берет формат из указанной ячейки и применяет его к указанному типу данных.
Пример использования можно найти здесь, а пример неправильного использования здесь.