求助一下大佬
今天在工作中碰到了一個(gè)問(wèn)題,用easypoi導(dǎo)出excel的時(shí)候,實(shí)體中BigDecimal類型的屬性設(shè)置了對(duì)應(yīng)的格式為saleAmount.setNumFormat("#.00");,同時(shí)設(shè)置類型為double,但是導(dǎo)出時(shí)excel還是顯示單元格格式為文本,我想問(wèn)如何設(shè)置單元格格式為數(shù)值或者日期等類型呢?
代碼如下:
```
public class Main {
public static void main(String[] args) {
File file = new File("D:\\kake_work\\excel\\excel_test1.xlsx");
mkdir(file);
int size = 10;
try (OutputStream outputStream = Files.newOutputStream(file.toPath())) {
ExportParams params = new ExportParams();
params.setSheetName("訂單頁(yè)");
params.setType(ExcelType.XSSF);
List<OrderReport> list = new ArrayList<>();
OrderReport report = new OrderReport();
report.setBaseAmountRmb(BigDecimal.valueOf(99.13));
report.setSaleAmount(BigDecimal.valueOf(100.45));
report.setCheckindate(new Date());
OrderReportReq request = new OrderReportReq();
for (int i = 0; i < size; i++) {
list.add(report);
}
List<ExcelExportEntity> dynamicExportColumnSetting = getExcelExportEntities();
Workbook sheets = ExcelExportUtil.exportBigExcel(params, dynamicExportColumnSetting, (queryParams, page) -> {
OrderReportReq req = (OrderReportReq) queryParams;
int listIndex = page - 1;
if (listIndex < size) {
List<OrderReport> rows = list;
for (OrderReport row : rows) {
row.setAdults(1);
}
return new ArrayList<>(rows);
}
return null;
}, request);
sheets.write(outputStream);
} catch (Exception e) {
System.out.println("excel導(dǎo)出發(fā)生異常");
e.printStackTrace();
} finally {
//remove(file);
}
System.out.println("excel導(dǎo)出成功!");
}
private static List<ExcelExportEntity> getExcelExportEntities() {
List<ExcelExportEntity> dynamicExportColumnSetting = new ArrayList<>();
ExcelExportEntity baseAmountRmb = new ExcelExportEntity("底價(jià)CNY", "baseAmountRmb");
baseAmountRmb.setType(BaseEntityTypeConstants.DOUBLE_TYPE);
baseAmountRmb.setNumFormat("#.00");
dynamicExportColumnSetting.add(baseAmountRmb);
ExcelExportEntity saleAmount = new ExcelExportEntity("售價(jià)CNY", "saleAmount");
saleAmount.setNumFormat("#.00");
saleAmount.setType(BaseEntityTypeConstants.DOUBLE_TYPE);
dynamicExportColumnSetting.add(saleAmount);
ExcelExportEntity checkInDate = new ExcelExportEntity("入住日期", "checkindate");
checkInDate.setFormat("yyyy/MM/dd");
//checkInDate.setType(BaseEntityTypeConstants.DATE_TYPE);
dynamicExportColumnSetting.add(checkInDate);
return dynamicExportColumnSetting;
}
private static void mkdir(File file) {
if (!file.exists()) {
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
}
}
private static void remove(File file) {
if (file != null && file.exists()) {
file.delete();
}
}
}
```
代碼如下:
```
public class Main {
public static void main(String[] args) {
File file = new File("D:\\kake_work\\excel\\excel_test1.xlsx");
mkdir(file);
int size = 10;
try (OutputStream outputStream = Files.newOutputStream(file.toPath())) {
ExportParams params = new ExportParams();
params.setSheetName("訂單頁(yè)");
params.setType(ExcelType.XSSF);
List<OrderReport> list = new ArrayList<>();
OrderReport report = new OrderReport();
report.setBaseAmountRmb(BigDecimal.valueOf(99.13));
report.setSaleAmount(BigDecimal.valueOf(100.45));
report.setCheckindate(new Date());
OrderReportReq request = new OrderReportReq();
for (int i = 0; i < size; i++) {
list.add(report);
}
List<ExcelExportEntity> dynamicExportColumnSetting = getExcelExportEntities();
Workbook sheets = ExcelExportUtil.exportBigExcel(params, dynamicExportColumnSetting, (queryParams, page) -> {
OrderReportReq req = (OrderReportReq) queryParams;
int listIndex = page - 1;
if (listIndex < size) {
List<OrderReport> rows = list;
for (OrderReport row : rows) {
row.setAdults(1);
}
return new ArrayList<>(rows);
}
return null;
}, request);
sheets.write(outputStream);
} catch (Exception e) {
System.out.println("excel導(dǎo)出發(fā)生異常");
e.printStackTrace();
} finally {
//remove(file);
}
System.out.println("excel導(dǎo)出成功!");
}
private static List<ExcelExportEntity> getExcelExportEntities() {
List<ExcelExportEntity> dynamicExportColumnSetting = new ArrayList<>();
ExcelExportEntity baseAmountRmb = new ExcelExportEntity("底價(jià)CNY", "baseAmountRmb");
baseAmountRmb.setType(BaseEntityTypeConstants.DOUBLE_TYPE);
baseAmountRmb.setNumFormat("#.00");
dynamicExportColumnSetting.add(baseAmountRmb);
ExcelExportEntity saleAmount = new ExcelExportEntity("售價(jià)CNY", "saleAmount");
saleAmount.setNumFormat("#.00");
saleAmount.setType(BaseEntityTypeConstants.DOUBLE_TYPE);
dynamicExportColumnSetting.add(saleAmount);
ExcelExportEntity checkInDate = new ExcelExportEntity("入住日期", "checkindate");
checkInDate.setFormat("yyyy/MM/dd");
//checkInDate.setType(BaseEntityTypeConstants.DATE_TYPE);
dynamicExportColumnSetting.add(checkInDate);
return dynamicExportColumnSetting;
}
private static void mkdir(File file) {
if (!file.exists()) {
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
}
}
private static void remove(File file) {
if (file != null && file.exists()) {
file.delete();
}
}
}
```
全部評(píng)論
這不問(wèn)ai嗎
相關(guān)推薦
點(diǎn)贊 評(píng)論 收藏
分享
05-03 12:21
江西農(nóng)業(yè)大學(xué) Java 點(diǎn)贊 評(píng)論 收藏
分享
點(diǎn)贊 評(píng)論 收藏
分享
05-01 10:16
中國(guó)海洋大學(xué) C++ 點(diǎn)贊 評(píng)論 收藏
分享