C# MVC 导出 excel

1、操作过程流程为 单击导出按钮弹出一个网页,下载完之后关闭

2、特点:可以随意修改样式、背景颜色、方便简单、不需要引用第三方的dll等

废话不多说,直接上代码

前端  采用的form表单提交的方式  说明 一下getFromData这个方法我测试的时候发现全用Input上传没问题 用textarea 可能会丢数据  

 1 //导出excel
 2 outputFrom("/STKPurchaseInfo/ExportIndexPage", conditionFilter());
 3 
 4  //条件判断
 5     function conditionFilter() {
 6              var postData = {
 7          
 8             , sortField: ""
 9             , departmentId: "" /* 供应商ID*/
10             , mer_Id: "" /* 商户号*/
11             , user_Name: "" /* 手机号*/
12         }
13         return postData;
14     }
15 
16 //from post 请求
17 function outputFrom(url, data, target) {
18     var t = target || "_blank";
19 
20     var fromHtml = $('
' + 21 '
' + url + '" method="post" target="' + target + '">' + getFromData(data) + '
' + 22 '"); 77 Response.End(); 78 }
View Code

总结:1、单元格里面的格式最好在传进去时的时候就格式化好

2、ExportHelper类拼接的时候有时候可能会需要设置单元格格式,不过我测试的时候认为文本格式最好用,日期什么的当成文本导出也不会有什么问题,如果不用文本可能会出问题,格式化时分秒的时候 会有问题,亲测 。用文本格式请看总结1

1) 文本:vnd.ms-excel.numberformat:@
2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd
3) 数字:vnd.ms-excel.numberformat:#,##0.00
4) 货币:vnd.ms-excel.numberformat:¥#,##0.00
5) 百分比:vnd.ms-excel.numberformat: #0.00%

如:

122414323543254354353

3、代码基本上都可以复制过去就可以用了,只需要改一下传值和操作数据那一块就行了,暂时只是做的单表头,如果需要导出多表头的话,可以先自己去看看table 行|列合并,再拼接表头处自己拼一下代码,计算好需要拼的列数或行数拼接就行。

有什么疑问可以提出来

 

你可能感兴趣的:(C# MVC 导出 excel)