求助一下大佬
今天在工作中碰到了一個問題,用easypoi導(dǎo)出excel的時候,實體中BigDecimal類型的屬性設(shè)置了對應(yīng)的格式為saleAmount.setNumFormat("#.00");,同時設(shè)置類型為double,但是導(dǎo)出時excel還是顯示單元格格式為文本,我想問如何設(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("訂單頁");
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("底價CNY", "baseAmountRmb");
baseAmountRmb.setType(BaseEntityTypeConstants.DOUBLE_TYPE);
baseAmountRmb.setNumFormat("#.00");
dynamicExportColumnSetting.add(baseAmountRmb);
ExcelExportEntity saleAmount = new ExcelExportEntity("售價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("訂單頁");
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("底價CNY", "baseAmountRmb");
baseAmountRmb.setType(BaseEntityTypeConstants.DOUBLE_TYPE);
baseAmountRmb.setNumFormat("#.00");
dynamicExportColumnSetting.add(baseAmountRmb);
ExcelExportEntity saleAmount = new ExcelExportEntity("售價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();
}
}
}
```
全部評論
這不問ai嗎
相關(guān)推薦
05-01 10:16
中國海洋大學(xué) C++ 點贊 評論 收藏
分享
05-03 12:21
江西農(nóng)業(yè)大學(xué) Java 點贊 評論 收藏
分享
點贊 評論 收藏
分享