使用jQuery OCUpload实现excel文件一键上传功能

使用jQuery OCUpload实现excel文件一键上传功能

js代码

//为导入按钮,添加一键上传效果
$("#button-import").upload({action:'../../area_batchImport.action',onSelect:function(){//选中文件后,关闭自动提交this.autoSubmit() = false;//判定文件格式以.xls .xlsx结尾var filename = this.filename();var regex = /^.*\.(xls|xlsx)$/;if(regex.test(filename)){//满足this.submit();}else{$.messager.alert("警告","只能上传.xls .xlsx结尾的文件","warning");}},onComplete:function(response){alert("文件上传成功!");}
});

Action:

@Namespace("/")
@ParentPackage("json-default")
@Controller
@Scope("prototype")
public class AreaAction extends BaseAction {//注入service@Autowiredprivate AreaService areaService;//接收上传文件private File file;public void setFile(File file) {this.file = file;}//批量区域数据导入@Action(value="area_batchImport")public String batchImport() throws Throwable{List areas = new ArrayList();HSSFWorkbook hssfBook = new HSSFWorkbook(new FileInputStream(file));HSSFSheet sheet = hssfBook.getSheetAt(0);for (Row row : sheet) {//一行数据对应一个区域对象if(row.getRowNum()==0){//第一行,跳过continue;}//跳过空行if(row.getCell(0)==null||StringUtils.isBlank(row.getCell(0).getStringCellValue())){continue;}Area area = new Area();area.setId(row.getCell(0).getStringCellValue());area.setProvince(row.getCell(1).getStringCellValue());area.setCity(row.getCell(2).getStringCellValue());area.setDistrict(row.getCell(3).getStringCellValue());area.setPostcode(row.getCell(4).getStringCellValue());areas.add(area);}areaService.saveBatch(areas);return NONE;}
}

Service层代码:

@Service
@Transactional
public class AreaServiceImpl implements AreaService {@Autowiredprivate AreaRepository areaRepository;@Overridepublic void saveBatch(List areas) {areaRepository.save(areas);}}

dao层:

public interface AreaRepository extends JpaRepository {}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部