getservletcontext获取什么对象 springMVC怎么把结果集写入Excel并导出?
springMVC怎么把结果集写入Excel并导出?
首先,我必须导入spring相关的包、poi和fileupload包,这些包是我用maven构建的。
一、导入excel
(1)使用spring上传文件
A.首页提交
form namexcelimportform action $ { }/brand/importBrandSort方法post onsubmitreturn check import path();enctypemultipart/form-data idexcelImportForm
输入类型隐藏名称idids
差异
差异
标签输入idexcel_file类型文件名文件名acceptxls//label
差异
输入id excel _ buttontype提交值导入Excel/
/div
/div
/div
差异
按钮类型button data-dismissmodal onClickuncheckBoxes();取消/按钮
/div
B.spring的控制器在后台执行相关操作。这里主要说一下使用spring上传文件和读取文件信息。
在使用spring上传文件之前,您需要配置bean。
bean idmultipartResolver /(值/importBrandSort,方法)
public modeland view importBrandSort(@ request param(文件名)MultipartFile文件,
HttpServletRequest请求,HttpServletResponse响应)引发异常{
字符串温度()。getServletCont:为单位。
(4096);//设置内存中最多只能存储的数据,以:位为单位。
(temp);//设置一旦文件大小超过getSizeThreshold()的值,数据将存储在硬盘上的目录。
//开始读取上传的信息
//
int索引0;
/*列表文件项为空;
尝试{
fileItems(请求);
}
捕捉(异常e) {
();
}
迭代器ITER();//依次处理每个上传的文件。
文件项文件项为空;
while (iter.hasNext()) {
FileItem item(文件项)();//忽略不是文件字段的所有其他表单信息。
如果(!()) {
fileItem项目;
//索引;
}
}
if(文件项为空)
返回null
*/
如果(文件为空)
返回null
(());
字符串名称();//获取上传文件名,包括路径。
//name(()1);//从完整路径中提取文件名
长尺寸();
if((name null | | name . equals())size 0)
返回null
()中的InputStream
品牌移动信息实体品牌移动信息服务
(在);
//更改为手动刷新缓存(新
//period dimensions());//清除所有缓存
int count();
String strAlertMsg
如果(算!0){
StrAlertMsg成功导入计数条目!;
}否则{
StrAlertMsg导入失败!;
}
(strAlertMsg);
(brandPeriodSortList,BrandMobileInfos);
(strAlertMsg,strAlertMsg);
().setAttribute(msg,strAlertMsg);
return get(请求,响应);
//返回null
}
代码的注释部分是如何得到它,如果你不 不要用弹簧。交上来的文件名(需要一些apache工具包)其实和用spring的一样,只是被封装了,方便我们写代码。
后半部分代码是读取上传的文件信息并更新数据库后输出到前台页面的信息。
在上面的代码中:InputStream in();
品牌移动信息实体品牌移动信息服务
(在);读取excel的信息。
(2)用poi读取excel
A.更新数据库
r
public ListBrandMobil: brandMobileInfos){
mapper . updateby conditions(brandMobileInfo);
}
返回brandMobileInfos
}
这部分是服务层的代码,用于读取excel信息后更新数据库数据。我在这里用mybatis。定义一个类BrandMobileInfoEntity,该类使用并保存excel表格的每一行的信息,而List BrandMobileInfoEntity保存所有的信息,并用这些信息更新数据库。
B.读取excel信息
private ListBrandMobileInfoEntity readBrandPeriodSorXls(InputStream is)
引发IOException,ParseException {
HSSFWorkbook hssfWorkbook新建hssf workbook(is);
ListBrandMobileInfoEntity brandMobileInfos new ArrayListBrandMobileInfoEntity();
BrandMobileInfoEntity brandMobileInfo;
//循环工作表工作表
for (int num sheet 0;
numSheet();numSheet ) {
hssf sheet hssf sheet(num sheet);
if (hssfSheet null) {
继续;
}
//循环行
for(int rowNum 1;rowNum();rowNum ) {
brandMobileInfo new BrandMobileInfoEntity();
HSS flow HSS flow(rowNum);
for(int I 0;I();i ) {
hssf cell brandIdHSSFCell(I);
如果(i 0) {
(整数
(getCellValue(brandIdHSSFCell));
} else if (i 1) {
继续;
} else if(I ^ 2){
((getCellValue(brandIdHSSFCell)));
} else if (i 3) {
((getCellValue(brandIdHSSFCell)));
} else if (i 4) {
(getCellValue(brandIdHSSFCell));
} else if (i 5) {
(getCellValue(brandIdHSSFC
contextparam元素的父元素是?
context-param元素包含一对参数名和参数值,它们用作应用程序的ServletContext上下文的初始化参数。参数名称在整个Web应用程序中必须是唯一的。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。