日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

easypoi needmerge失效_EasyPOI简单用例,简单有效

發(fā)布時(shí)間:2023/12/4 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 easypoi needmerge失效_EasyPOI简单用例,简单有效 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

用poi導(dǎo)出Excel表格,需要配置很多東西,也比較麻煩,這里使用poi的封裝easypoi,可以快速配置,實(shí)現(xiàn)Excel或者word文件的導(dǎo)出。這里我們結(jié)合SpringMVC開(kāi)發(fā)easypoi。

1,導(dǎo)入以下3個(gè).jar包:這里是springMVC和easypoi所需的jar包,主要是easypoi-base和easypoi-web,其它都是關(guān)聯(lián)所需的jar包,我們需要commons-lang3.jar包,開(kāi)始使用commons-lang2.6版本會(huì)出現(xiàn)錯(cuò)誤。

2,spring-mvc.xml配置如下:

class="org.springframework.web.servlet.view.BeanNameViewResolver"?p:order="0">

1.ExcelExportUtil?Excel導(dǎo)出(普通導(dǎo)出,模板導(dǎo)出)

2.ExcelImportUtil?Excel導(dǎo)入

3.WordExportUtil?Word導(dǎo)出(只支持docx?,doc版本poi

3 Controller

導(dǎo)入方式,可以根據(jù)映射關(guān)系,通過(guò)注解,字段名符合導(dǎo)入,如下例

public?class?RechannelreportEntity?implements?java.io.Serializable?{

/**id*/

private?java.lang.Integer?id;

/**amount*/

@Excel(name="amount")

private?java.lang.Integer?amount;

/**amounts*/

@Excel(name="amounts")

private?java.lang.Integer?amounts;

/**counts*/

@Excel(name="counts")

private?java.lang.Integer?counts;

/**date*/

@Excel(name="date",format?=?"yyyy-MM-dd")

private?java.util.Date?date;

/**username*/

.......

@SuppressWarnings("unchecked")

@RequestMapping(params?=?"importExcel",?method?=?RequestMethod.POST)

@ResponseBody

public?AjaxJson?importExcel(HttpServletRequest?request,?HttpServletResponse?response)?{

AjaxJson?j?=?new?AjaxJson();

MultipartHttpServletRequest?multipartRequest?=?(MultipartHttpServletRequest)?request;

Map?fileMap?=?multipartRequest.getFileMap();

for?(Map.Entry?entity?:?fileMap.entrySet())?{

MultipartFile?file?=?entity.getValue();//?獲取上傳文件對(duì)象

ImportParams?params?=?new?ImportParams();

params.setTitleRows(2);

params.setHeadRows(1);

params.setNeedSave(true);

try?{

List?listRechannelreportEntitys?=?ExcelImportUtil.importExcel(file.getInputStream(),RechannelreportEntity.class,params);

for?(RechannelreportEntity?rechannelreport?:?listRechannelreportEntitys)?{

rechannelreportService.save(rechannelreport);

}

j.setMsg("文件導(dǎo)入成功!");

}?catch?(Exception?e)?{

j.setMsg("文件導(dǎo)入失敗!");

logger.error(ExceptionUtil.getExceptionMessage(e));

}finally{

try?{

file.getInputStream().close();

}?catch?(IOException?e)?{

e.printStackTrace();

}

}

}

return?j;

導(dǎo)出方式一,可以自定義輸出字段,并賦值

@RequestMapping(params?=?"exportXls2")

public?String?string2(RechannelreportEntity?rechannelreport,HttpServletRequest?request,HttpServletResponse?response

,?DataGrid?dataGrid,ModelMap?modelMap)?{

//"&&searchColums=&undefined=&sqlbuilder=&username=CL007&date_begin=2017-01-17&date_end=2017-01-17"

List?entityList?=?new?ArrayList();

entityList.add(new?ExcelExportEntity("日期",?"cou1",?15));

entityList.add(new?ExcelExportEntity("渠道號(hào)",?"cou2",?15));

entityList.add(new?ExcelExportEntity("原始金額",?"cou3",?15));

entityList.add(new?ExcelExportEntity("扣量金額",?"cou4",?15));

entityList.add(new?ExcelExportEntity("結(jié)算金額",?"cou5",?15));

//這邊的getData2?方法是對(duì)?MapExcelConstants.MAP_LIST進(jìn)行賦值

List>?dataResult?=?getData2(getDateGrid(rechannelreport,?request));

modelMap.put(MapExcelConstants.ENTITY_LIST,?entityList);

modelMap.put(MapExcelConstants.MAP_LIST,?dataResult);

modelMap.put(MapExcelConstants.FILE_NAME,?DateUtils.formatDate(new?Date())?+?"數(shù)據(jù)");

Date?now?=?new?Date();

modelMap.put(NormalExcelConstants.PARAMS,?new?ExportParams(rechannelreport.getUsername()?+?"對(duì)賬單詳情",?"導(dǎo)出日期:"?+?DateUtils.formatDate(new?Date())?+?"?????",?"導(dǎo)出信息"));

return?MapExcelConstants.JEECG_MAP_EXCEL_VIEW;

}

導(dǎo)出方式二,根據(jù)實(shí)體映射現(xiàn)實(shí)字段

@ExcelTarget("courseEntity")

public?class?CourseEntity?implements?java.io.Serializable?{

/**?主鍵?*/????private?String?id;

/**?課程名稱?*/????@Excel(name?=?"課程名稱",?orderNum?=?"1",?needMerge?=?true)

private?String?name;

/**?老師主鍵?*/????@ExcelEntity(id?=?"yuwen")

@ExcelVerify()

private?TeacherEntity?teacher;

/**?老師主鍵?*/????@ExcelEntity(id?=?"shuxue")

private?TeacherEntity?shuxueteacher;

@ExcelCollection(name?=?"選課學(xué)生",?orderNum?=?"4")

private?List?students;

@RequestMapping(params?=?"exportXls")

public?String?exportXls(CourseEntity?course,HttpServletRequest?request,HttpServletResponse?response

,?DataGrid?dataGrid,ModelMap?map)?{

CriteriaQuery?cq?=?new?CriteriaQuery(CourseEntity.class,?dataGrid);

org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq,?course,?request.getParameterMap());

List?courses?=?this.courseService.getListByCriteriaQuery(cq,false);

map.put(NormalExcelConstants.FILE_NAME,"用戶信息");

map.put(NormalExcelConstants.CLASS,CourseEntity.class);

map.put(NormalExcelConstants.PARAMS,new?ExportParams("課程列表",?"導(dǎo)出人:Jeecg",

"導(dǎo)出信息"));

map.put(NormalExcelConstants.DATA_LIST,courses);

return?NormalExcelConstants.JEECG_EXCEL_VIEW;

}

總結(jié)

以上是生活随笔為你收集整理的easypoi needmerge失效_EasyPOI简单用例,简单有效的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。