MVC导出数据到excel

MVC导出数据到excel,第1张

1 视图里 和jquery结合做的

2 <input id="FileUpload" type="file" name="upload" style="width: 250pxbackground: White" class="easyui-validatebox" validtype="length[1,100]" />

3

4 function OK() { //点击确定按钮的时候

5 var file = ($("#FileUpload").val())

6 if (file == "") {

7 $.messager.alert('系统提示', '请选择将要上传的文件!')

8 document.forms[0].submit()

9 }

10 else {

11 var stuff = file.match(/^(.*)(\.)(.{1,8})$/)[3]

12 if (stuff != 'xls') {

13 alert('文件类型不正确,请选择.xls文件!')

14 document.forms[0].submit()

15 }

16 else {

17 $.ajax({

18 type: "POST",

19 url: "/后台路径/调用方法名",

20 data: "file=" + file + "",

21 success: function (result) {

22 $.messager.alert('系统提示', result + "")

23 }

24 })

25 }

26 }

27

28 后台://要确定excel的格式动态也可以.视情况而定

29

30 public ActionResult UpLoad(string file)

31 {

32 string result = string.Empty

33 string strConn

34 strConn = "Provider=Microsoft.Jet.OLEDB.4.0" + "Data Source=" + file + "" + "Extended Properties=Excel 8.0"

35 OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn)

36 DataSet myDataSet = new DataSet()

37 myCommand.Fill(myDataSet, "ExcelInfo")

38 System.Data.DataTable tab = myDataSet.Tables["ExcelInfo"].DefaultView.ToTable()

39 // ...用foreach把tab中数据添加到数据库 省略了如果是多表插入,可以调用存储过程.呵呵

40 result="导入成功!"

41 JsonResult json = new JsonResult()

42 json.Data = result

43 return json

44 }

下载所需POI的jar包,并导入项目。

添加一个User类,用于存放用户实体。添加一个UserController类。添加一个接口类UserService和实现类UserServiceImpl。这样就完成了excel导出至客户端浏览器,当然有时候也会用到导出excel至服务器上。只需要对本文步骤4中的第七步文件输出方式进行修改。然后去除controller类中的out参数设置就ok了。也可以看出其实两种方式只是最终保存方式不同,其他步骤是共通的。

首先导出成.txt格式的

然后右键点导出的文件-打开方式-excel-格式

在格式中选择分隔方式(看导出的TXT格式中以什么分隔的,一般情况下把空格和逗号选上就ok)

再下一步就打开了

最后处理相信就不用我多说了 !很高兴为你解答


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12019337.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存