Я пытаюсь создать динамический отчет 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;
}
}
Как я могу применить форматирование к ячейкам динамически?
JXLS просто использует форматирование, которое вы указали в своем шаблоне. Для динамических данных у них теперь есть очень удобная команда сетки, которая имеет атрибут formatCells
. Он принимает формат из указанной ячейки и применяет его к указанному типу данных.
Пример использования здесь можно найти здесь, а пример - неправильное использование здесь.