Привет! Есть SpringMVC проект, есть данные, которые по клику на кнопку выкачиваются в Excel файл.
Данные могут быть как число, так и текст, поэтому предыдущий программист сохранял все данные как текст. Но в итоге в Excel файле ячейки с числами имеют зеленый треугольничек с подсказкой "Число в этой ячейке отформатировано как текст, или перед ним стоит апостроф."
Данные для вывода заполняются так:
for (Integer i = startDayOfMonth; i <= endDayOfMonth; i++) {
titleText = new JRDesignTextField();
titleText.setX(x);
titleText.setY(y);
titleText.setWidth(dayColumnWidth);
titleText.setHeight(25);
titleText.setStyle(orangeCellStyle);
expression = new JRDesignExpression();
expression.setText(i.toString());
titleText.setExpression(expression);
band.addElement(titleText);
x += titleText.getWidth();
maxDayList.add(i);
}
Что нужно сделать, чтобы числа выводились как числа, или чтобы не появлялся этот зеленый треуголльник?
Нашел решение:
В коде
JasperDesign jasperDesign = createListFactDesign();
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JRDataSource jrDataSource = prepareDataSource();
Map<String, Object> params = new HashMap<String, Object>();
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, jrDataSource);
try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
switch (this.listFactReportParameters.getReportFormat()) {
case EXCEL:
JRXlsExporter xlsExporter = new JRXlsExporter();
xlsExporter.setExporterInput(new SimpleExporterInput(jasperPrint));
xlsExporter.setExporterOutput(new SimpleOutputStreamExporterOutput(baos));
SimpleXlsReportConfiguration configuration = new SimpleXlsReportConfiguration();
configuration.setOnePagePerSheet(false);
configuration.setDetectCellType(true);
xlsExporter.setConfiguration(configuration);
xlsExporter.exportReport();
Добавил эту строку configuration.setDetectCellType(true);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Ошибку гуглил,все варианты испробовалНа устройствах 5/5
Есть view в которой я на канвасе хочу написать текст