2 it queen IT_Queen 于 2016.09.20 19:21 提问

Ajax如何调用后台的导入数据接口

有个功能就是需要将之前导出的excel表格,通过导入按钮,导入到后台数据库,那么我如何写ajax代码,才能将excel成功导入呢?状态为1时导入成功,为0导入失败,需要本地文件路径。求大神指点,刚入职,有点小白。

2个回答

zhaofuwu
zhaofuwu   2016.09.20 22:22
已采纳

你这其实根本问题excel导入问题。思想是通过ajax异步判断是否导入成功。前几天刚做了一个excel导入的功能,用的poi,你这里既然已经做了导出,那么项目中自然已经有了poi组件所需的jar包,
这里做导入主要会遇到两个问题:一,选择本地文件,只有IE,可以获取本地文件全路径,火狐,谷歌,欧朋等浏览器处于安全考虑无法获取文件全路径,导致到不到文件。
二,execl模板的设置,再模板中要定义一个隐藏行,来跟数据库实体类中的属性一一对应。

                    我已经成功完成这个功能,我自己写了一个博客,总结了一下,你可以参看一下:http://blog.csdn.net/zhaofuwu/article/details/52530503
whjianwang
whjianwang   2016.09.20 19:45

使用ajaxfileupload.js,页面引入即可,关键代码
function ajaxUpload(){
$.ajaxFileUpload({

type:"post",
url:"<%=request.getContextPath()%>/fileUpload",
secureurl:false,
fileElementId:"file",
dataType:"text",
success:function(data){
if(data=="1"){

$("#div").html("上传成功!");
}else{
$("#div").html("上传失败!");
}

                        }
                    },
                    error:function(msg){
                        alert("文件上传请求失败,"+msg);
                    }
                });
            }

@Controller
public class FileController {

/**
 * 文件上传
 * @param file
 * @param request
 * @return
 */ 
@RequestMapping(value="/fileUpload",method=RequestMethod.POST)
public void fileUpload(MultipartFile file,HttpServletRequest request,HttpServletResponse response){
  //逻辑处理
    }      

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!