jxl实现模板导出exect表

使用模板导出jxl表格(jxl)

jxl的jar包下载地址,使用jxl导出带有模板格式的xls表格。下面展示 代码快.

	//在controller使用list集合接收

	//如下为业务代码(Service层)
	// 获得数据
		List<实体类> list = exportExcel();
	//创建输出流对象
		OutputStream os = null;
	//创建工作簿对象
		WritableWorkbook workbook = null;
	 //WorkbookSettings 是使应用程序可以使用各种高级工作簿属性设置,若不使用则相关属性会是默认值
		WorkbookSettings wbSettings = null;
		try {
			// 查询模板路径
			String pathname = request.getSession().getServletContext()
					.getRealPath("模板所在的文件夹" + File.separator + "模板的名称.xls");
			os = response.getOutputStream();
			wbSettings = new WorkbookSettings();
			wbSettings.setWriteAccess(null);
			// 下载文件前,设置响应头
			String fileName = new String("下载时模板的名称".getBytes("UTF-8"), "ISO-8859-1");
			response.reset();// 清空输出流
			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xls");// 设定输出文件头
			response.setContentType("application/msexcel");
			workbook = Workbook.createWorkbook(os, Workbook.getWorkbook(new File(pathname)), wbSettings);
			WritableSheet sheet = workbook.getSheet(0);
			// 循环list集合进行填值
			for (int i = 0; i < list.size(); i++) {
				实体对象 = list.get(i);
				setTextForCell(sheet,输入第几列 , (第几行-1) + i, 对象.get数据字段(得到查询出来的数据));
				//例子 第二列,第8+i行,第i+1行数据
				setTextForCell(sheet, 1, 7 + i, String.valueOf((i + 1)));
				//注意int行如下得+""加一个空字符串
				setTextForCell(sheet, 2, 7 + i, shiti.getInt() + "");
			}
			workbook.write();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				workbook.close();
			} catch (Exception e1) {
			}
			try {
				os.close();
			} catch (Exception e) {
			}
		}
	}

	// 读取模板exect表的格式
	private void setTextForCell(WritableSheet sheet, int c, int r, String value)
			throws RowsExceededException, WriteException {
		CellFormat cf = sheet.getCell(c, r).getCellFormat();
		if (cf == null) {
			sheet.addCell(new Label(c, r, value + ""));
		} else {
			sheet.addCell(new Label(c, r, value + "", cf));
		}
	}


			<!--导出数据开始 -->
		    <div class="right">
			    	<form id="searchfm">
			        	<table>
			        		<tr>
			        			
			        		</tr>
			        	</table>
					</form>
			</div>
		    <!--导出数据结束 -->

// 导出
function der() {
		$('#searchfm').attr("action", URL_PREFIX + "");
		$('#searchfm').submit();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值