From 267ec23181203763e946ca7ad30412366469a8fc Mon Sep 17 00:00:00 2001 From: jueyue Date: Thu, 2 Apr 2015 21:29:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=81=87=E5=A6=82=E6=98=AF=E6=95=B0=E5=AD=97?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=B0=B1=E6=98=AF=E8=AE=BE=E7=BD=AEdouble,?= =?UTF-8?q?=E5=8E=BB=E6=8E=89Excel=E7=9A=84=E5=B0=8F=E4=B8=89=E8=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../poi/excel/export/base/ExcelExportBase.java | 15 ++++++++++----- .../excel/styler/ExcelExportStatisticStyler.java | 5 +++-- .../test/excel/test/ExcelExportStatisticTest.java | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/base/ExcelExportBase.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/base/ExcelExportBase.java index 5bf1518..48db019 100644 --- a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/base/ExcelExportBase.java +++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/base/ExcelExportBase.java @@ -251,13 +251,18 @@ public abstract class ExcelExportBase extends ExportBase { public void createStringCell(Row row, int index, String text, CellStyle style, ExcelExportEntity entity) { Cell cell = row.createCell(index); - RichTextString Rtext; - if (type.equals(ExcelType.HSSF)) { - Rtext = new HSSFRichTextString(text); + if (style != null && style.getDataFormat() > 0 && style.getDataFormat() < 12) { + cell.setCellValue(Double.parseDouble(text)); + cell.setCellType(Cell.CELL_TYPE_NUMERIC); } else { - Rtext = new XSSFRichTextString(text); + RichTextString Rtext; + if (type.equals(ExcelType.HSSF)) { + Rtext = new HSSFRichTextString(text); + } else { + Rtext = new XSSFRichTextString(text); + } + cell.setCellValue(Rtext); } - cell.setCellValue(Rtext); if (style != null) { cell.setCellStyle(style); } diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/styler/ExcelExportStatisticStyler.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/styler/ExcelExportStatisticStyler.java index b73aad7..396dad5 100644 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/styler/ExcelExportStatisticStyler.java +++ b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/styler/ExcelExportStatisticStyler.java @@ -1,5 +1,6 @@ package org.jeecgframework.poi.test.excel.styler; +import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.ss.usermodel.BuiltinFormats; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Workbook; @@ -24,14 +25,14 @@ public class ExcelExportStatisticStyler extends ExcelExportStylerDefaultImpl { numberCellStyle = workbook.createCellStyle(); numberCellStyle.setAlignment(CellStyle.ALIGN_CENTER); numberCellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); - numberCellStyle.setDataFormat((short) BuiltinFormats.getBuiltinFormat("0")); + numberCellStyle.setDataFormat((short) BuiltinFormats.getBuiltinFormat("0.00")); numberCellStyle.setWrapText(true); } @Override public CellStyle getStyles(boolean noneStyler, ExcelExportEntity entity) { if (entity != null - && (entity.getName().contains("int") || entity.getName().contains("long"))) { + && (entity.getName().contains("int") || entity.getName().contains("double"))) { return numberCellStyle; } return super.getStyles(noneStyler, entity); diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportStatisticTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportStatisticTest.java index 2da3a11..c96092a 100644 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportStatisticTest.java +++ b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportStatisticTest.java @@ -22,7 +22,7 @@ public class ExcelExportStatisticTest { public void test() throws Exception { List list = new ArrayList(); - for (int i = 0; i < 20000; i++) { + for (int i = 0; i < 20; i++) { StatisticEntity client = new StatisticEntity(); client.setName("index" + i); client.setIntTest(1 + i);