POI实现动态导出功能

本文介绍了如何使用POI实现动态导出Excel的功能,用户可根据需求选择导出的字段,前端通过checkbox选择字段,后端接收参数,解析并查询数据库,最后利用POI库生成Excel文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言: 

    今天工作很闲,无意中发现同事做的一个动态导出功能,之前自己也利用POI做过excle的导出功能,但都是通过提前 定义导出文件,写死要导出的字段,在访问数据库获取导出信息,在写入excle的方式,这次同事要做的和我之前做的效果有点不一样,他是需要根据客户自己的需要,选取要导出的字段,动态的生成excle文件的需求,因为自己不知道要如何实现,所以趁着闲暇,细细的研究了一下他的实现过程,再次做个总结,权当学习,当然也希望能够帮助到那些正在忧愁不知道如何实现这个功能的小伙伴。

一、实现效果:

    点击页面的导出功能,弹出一个dalig对话框,对话框显示出可以导出的的所有字段,勾选要导出的字段,点击确定按钮,实现将选中字段在数据库中存储的信息导出到excle中。


二、实现效果图:


导出文件如下:


打开excle内如如下:


三、实现代码:

    3.1 、 前端代码:

    3.1.1、 导出按钮实现:

               /**
  		*操作按钮
  		*/
  		var toolbar = [{
			id:'hpms_ht_export',
			text:'导出',
			iconCls:'icon-tip',
			handler:function(){
					selectExportCloumn();
			},
			disabled:false}
		];
		
		
		/**
		选择要导出的列
		 **/
		function selectExportCloumn(){
			$("#exportColumnDialog").dialog("open");
			
		}



3.1.2 对话框的实现代码:

<div id="exportColumnDialog" class="easyui-dialog" title="请选择要导出的信息" style="width:900px;height:400px;"
			 data-options="iconCls:'icon-save',resizable:true,modal:true">
				
	<table id="columnGridObject" >
		<tr height="40px;">
		  <td style="width: 130px;"> <input type="checkbox" name="exportColumn" value="ID_NO;证件号码"/>证件号码</td>
		  <td style="width: 130px;"> <input type="checkbox" name="exportColumn" value="NAME;姓名"/>姓名</td>
		  <td style="width: 130px;"> <input type="checkbox" name="exportColumn" value="GENDER_CODE;性别"/>性别</td>
		  <td style="width: 130px;"> <input type="checkbox" name="exportColumn" value="BIRTH_DATE;出生日期"/>出生日期</td> 
		  <td style="width: 130px;"> <input type="checkbox" name="exportColumn" value="MARITAL_ST_CODE;婚姻状况"/>婚姻状况</td>
		  <td style="width: 130px;"> <input type="checkbox" name="exportColumn" value="NATION_CODE;民族"/>民族</td> 
		  <td style="width: 130px;"> <input type="checkbox" name="exportColumn" value="JOB_NUMBER;工号"/>工号</td>  
		</tr>
		<tr he
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值