extjs form java_extjs上传excel文件表单formpanel到java后台完整案例

extjs上传excel文件表单formpanel完整案例,首先弹出一个框,里面有一个extjs form表单,点击按钮可以选择文件,然后点击确定按钮提交表单到服务器,服务器接收代码以接收处理excel文件为例。

1.extjs客户端上传文件表单formpanel代码:

var uploadWin=new Ext.Window({

modal :true,

title:"批量导入记录",

width:400,

id:"uploadFileWin",

height:230,

bodyBorder:false,

layout:"fit",

bodyStyle:"background-color:#FFF",

items:[{

border:false,

id:"uploadForm",

xtype:"form",

fileUpload: true ,

style:"padding-top:50px;",

items:[{

xtype:'textfield',

inputType:'file',

id:"uploadFileTextF",

name:'uploadFile',

labelStyle : 'text-align:right;font-weight:bold',

allowBlank: false ,

fieldLabel:'选择文件*'

}]

}],

buttonAlign:"center",

buttons:[{

text:"确定",

handler:function(){

var form=Ext.getCmp("uploadForm").form;

var fileName=Ext.getCmp("uploadFileTextF").getValue();

fileName=fileName.split('.');

fileName=fileName[fileName.length-1];

if(fileName!="xls"&&fileName!="xlsx"){

Ext.Msg.alert("系统提示", "必须选择Microsoft Office Excel 工作表!");

return false;

}

if (form.isValid()){

form.submit({

method:'post',

url:'/doAction?Action=importRecord', // 根据自己系统的需要调用程序处理上传文件 24

waitMsg:'文件上传中...',

success:  function (form,action) {

//alert(action.msg);

Ext.Msg.alert("系统提示", action.result.msg);

mygrid.store.reload();

Ext.getCmp("uploadFileWin").close();

},

failure:  function (form,action) {

Ext.Msg.alert("系统提示", action.result.msg);

}

});

} else {

Ext.Msg.alert("系统提示","请选择文件后再上传!");

}

}

}]

});

uploadWin.show();

2.java接收文件servlet代码:

int maxPostSize = 1000 * 1024 * 1024;

FileItemFactory factory = new DiskFileItemFactory();

ServletFileUpload servletFileUpload = new ServletFileUpload(factory);

servletFileUpload.setSizeMax(maxPostSize);

List fileItems = servletFileUpload.parseRequest(req);

Iterator iter = fileItems.iterator();

JSONObject returnJson=new JSONObject();

int countRecord=0;

while (iter.hasNext()) {

FileItem item = (FileItem) iter.next();

if (!item.isFormField()) {// 是文件

Workbook book = Workbook.getWorkbook( item.getInputStream()) ;

Sheet sheet = book.getSheet(0);

int rows = sheet.getRows();

String fieldsStr="sname,pname,idcardNo,traincardno,serid";

String returnStr="";

for(int i = 0; i 

Cell [] cell = sheet.getRow(i);

String valuesStr="";

countRecord++;

for(int j=0; j

if(!sheet.getCell(0, i).getContents().equals("")){

if(i>=1){

valuesStr+="'"+sheet.getCell(j, i).getContents()+"'";

}

}

}

}

}

book.close();

returnJson.put("success", true);

returnJson.put("msg", "导入成功,共上传"+countRecord+"条记录。");

}else{

returnJson.put("success", false);

returnJson.put("msg", "请上传excel文件!");

}

}

out.print(returnJson.toString());

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值