MVC 导出excel

MVC实现Excel的导入导出 MVC实现Excel的导入导出 读取 Excel,相应的方法有: //获取文件流 InputStream is = new FileInputStream(file); //得到Excel工作簿对象 XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is); //得到Excel工作表对象 XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); //得到Excel工作表的指定行对象 XSSFRow xssfRow = xssf 阅读详情

大致的方式没有差异 都是在后台进行整合 DataTable =>foreach =>下载

现在有两种下载方式

1.利用MVC里面的 return File() 进行下载 (如果数据多久执行反馈会慢或者是卡死)

 public ActionResult ExploreExcel(string TimeBeg, string TimeEnd, int page = 1)
        {

            var list = new PayStatBLL().GetPayStat(TimeBeg, Convert.ToDateTime(TimeEnd).AddDays(1).ToString(), page, pagesize, ref counts).ToPagedList<PayStat>(page, pagesize);
            StringBuilder sbhtml = new StringBuilder();
            sbhtml.Append(" <table  border='1' cellspacing='0' cellpadding='0'>");
            sbhtml.Append("<tr><td>日期</th><th>网银</th><th>ios</th><th>支付宝</th><th>微信</th><th>人气</th><th>每天合计</th><th>人均</th></tr>");
            foreach (var item in list)
            {
                sbhtml.AppendFormat("<tr><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td><td>{5}</td><td>{6}</td><td>{7}</td> </tr>"
                    , item.TimeDay, item.WangYin, item.ios, item.zfb, item.Weixin, item.Ren, item.RenAvg, item.SumPay);
            }
            sbhtml.Append("</table>");
            string html = sbhtml.ToString();
            byte[] fileContents = Encoding.UTF8.GetBytes(html);//一定要加上 避免乱码
            return File(fileContents, "application/ms-excel", DateTime.Now.ToString("yyMMddHHssyy") + "充值记录.xls");
        }

2.利用 先打包后下载(注意删除服务器中的文件 )

using Excel = Microsoft.Office.Interop.Excel; //注意引入
 DateTime time = DateTime.Now;
            //表格的顶层
            Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
            //创建Excel工作薄
            Excel.Workbook workbook = excel.Workbooks.Add(Server.MapPath("~/Excel/员工列表模板.xlsx"));
            //引用Excel工作簿
            excel.Visible = true;
            //创建Excel工作表
            Excel.Worksheet sheet = workbook.Worksheets[1] as Excel.Worksheet;
            //创建Excel工作表名称
            sheet.Name = "员工信息表";
            var list = db.Employees.Include((e) => e.Department).ToList();
            sheet.Cells[1, 2] = time.ToShortDateString() + "_员工列表";
            //标头单位信息
            sheet.Cells[3, 3] = list.Count;
            sheet.Cells[3, 5] = list.Where(e => e.E_Sex == "男").Count();
            sheet.Cells[3, 7] = list.Where(e => e.E_Sex == "女").Count();
            int i = 6;
            //遍历泛型集合中的所有记录,把数据填充到单元格里面去
            foreach (var item in list)
            {
                sheet.Cells[i, 2] = item.E_ID;
                sheet.Cells[i, 3] = item.E_Name;
                sheet.Cells[i, 4] = item.E_Sex;
                sheet.Cells[i, 5] = item.E_Age;
                sheet.Cells[i, 6] = "'" + item.E_Tel;//注意加这个的意思是让电话在Excel里为文本,而不是数字,不然显示不好看
                sheet.Cells[i, 7] = item.Department.D_Name;
                i += 1;
            }
            string path = "~/Excel/员工列表_" + time.ToString("yyyy-MM-dd_hhmmss") + ".xlsx";
            //先把文件保存到网站的Excel文件夹里面,然后再下载到客户端来
            workbook.SaveAs(Server.MapPath(path), Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlExclusive, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
            workbook.Close(Missing.Value, Missing.Value, Missing.Value);
            excel.Quit();
            //保存好后实现文件的下载
            FileInfo loadFile = new FileInfo(Server.MapPath(path));
            Response.Clear();
            Response.ClearHeaders();
            Response.Buffer = false;
            Response.ContentType = "application/octet-stream";
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(loadFile.Name, System.Text.Encoding.UTF8));
            Response.AppendHeader("Content-Length", loadFile.Length.ToString());
            Response.WriteFile(loadFile.FullName);
            Response.Flush();
            //下载完文件后将excel文件夹中的临时文件删除
            System.IO.File.Delete(Server.MapPath(path));
            //释放进程
            GC.Collect();
            return RedirectToAction("Index");

一个页面处理只有一个action 多个按钮时就需要采用 @Html.ActionLink(‘文本’,’actionName’,’ControllerName’);
或者是异步 但是当你用异步时 会执行后台的方法 但是就是不返回下载(自己没研究透彻的问题)
解决方法之一:
function aa() {
window.location.href = "/paystat/ExploreExcel/?TimeBeg=" + $("#TimeBeg").val() + "&TimeEnd=" + $("#TimeEnd").val() + "&page=" + $("#page").text();
}

至于怎么调用这个方法都行 随你用 a 标签阻止跳转 还是用button 的onclick 都行

ASP.NET mvc导出Excel文件 ASP.NET mvc导出Excel文件 首先要下载 NPOI.dll 引用到项目中 第一步。 第二步控制台(业务逻辑层) public ActionResult Export(string CustomerName="",int SumbitUser=0,string Level="",DateTime? StartDate=nu... 阅读详情

相关推荐

基于NPOI的MVC Excel导出功能实战详解

SXSSF 是 XSSF 的流式实现版本,它允许你以“滑动窗口”的方式写入数据。比如设置保留100行在内存中,超出的部分自动刷新到磁盘临时文件。这样一来,即使导出千万级数据,内存占用也始终保持在一个可控范围内。// 创建可流式写入的工作簿,仅保留100行在内存var sheet = workbook.CreateSheet("超大规模数据");i++)// ...其他字段填充// 最终写入输出流📌注意。

weixin_35829279的博客 1059

MVC 导出数据到Excel

public void Export() { try { List userInfos = new List(); userInfos.Add(new UserInfo() { UserName = “张三”, Age = 10 }); userInfos.Add(new UserInfo() { UserName = “张三”, Age = 10 }); userInfos.Add(new UserInfo() { UserName = “张三”, Age = 10 }); userInfos.Add(n

WAi_KB的博客 316

MVC项目中Excel文件的高效导入导出解决方案

MVC(Model-View-Controller)架构是一种用于组织应用程序的软件设计模式,将数据模型(Model)、用户界面(View)和控制流程(Controller)分离。其核心思想在于关注点分离(Separation of Concerns),通过减少各个部分的耦合,来提高系统的可维护性、可扩展性和可测试性。当企业需要将外部数据整合到自己的系统中时,Excel文件导入是一种常见的数据迁移方式。整个导入流程包括了数据的准备、解析、验证、清洗,以及最终写入数据库等多个步骤。

weixin_42620563的博客 886

.NET MVC:实现导出Excel表格

MVC 使用NPOI导出Excel表格

weixin_54629917的博客 1716

基于STM32的3D打印机控制

通过本项目,我们成功搭建了一个基础的3D打印机控制系统,能够控制步进电机和加热元件。这为使用STM32开发功能丰富的3D打印机提供了基础,您可以在此基础上继续扩展功能,如增加LCD显示、SD卡存储、联网控制等功能。在这个项目中,我们将使用STM32微控制器开发一个基础的3D打印机控制系统。通过控制步进电机、加热元件和温度传感器,我们将实现一个简单的FDM(熔融沉积制造)3D打印机控制。- 检查PWM信号的生成功能,确认加热元件的控制逻辑是否正常。- 增加适当的滤波和校准算法,以提高温度读取的准确性。

2401_88938661的博客 1504

AMCL实战:如何用2D激光雷达在ROS中实现稳定重定位(附参数调优指南)

本文深入解析了在ROS中使用2D激光雷达实现稳定AMCL重定位的实战技巧与参数调优指南。针对粒子发散、位姿跳变等常见问题,文章从算法核心原理出发,系统讲解了初始化、粒子滤波、运动与观测模型等关键参数的分类与调优策略,并提供了一套经过验证的调优框架,帮助开发者提升移动机器人在已知地图环境下的定位鲁棒性和稳定性。

sql99的博客 135

mvc内容导出到excel

$("#btndcnr").click(function () { if (GetSelectedItemCount() <= 0) { ShowAlertInfo("请先选择需要导出的内容!", null); return; } ShowLoadingDialog(); $.fileDownload(window.rootUrl + '...

nbcls的博客 511

5G 网络的移动性管理上下文对比介绍

5G 网络的移动性管理上下文对比介绍 4G/5G MM移动性管理机制对比 5G引入了新移动性管理状态,通过mobility pattern(移动方式)实现按需的移动性管理等。 MM的相关状态分为一下几种: RM状态(用户注册管理 注册态/非注册态)和CM状态(用户连接态/空闲态)独立;RM状态标识UE是否注册到网络,CM状态标识UE和核心网的信令连接是否存在。 RAN侧引入RRC-inactive state:UE(用户端)对于CN(核心网)而言处于连接态,对RAN(接入网)而言处于Ld..

m0_59032675的博客 4823

菜鸟笔记—MVC-将表格数据导入Excel

通过JavaScript方法先将位于视图表格中的数据序列化,导出,通过get请求将数据发送到控制器。 function exportExcel() { var strConditions= $("#searchText").serialize();//序列化 window.open("@Url.Content("~/SystemSetup/WaresManage/ExportWaresData")" + "?" + strConditions); } 接着在控制器的方法将其作为参数...

踏云飞的博客 490

embedding计算过程

文章目录embedding计算过程(错了跟我讲,我会改)参考示例个人理解过程图示总结(基于pytorch) embedding计算过程(错了跟我讲,我会改) 参考示例 https://www.jianshu.com/p/63e7acc5e890 个人理解过程图示 总结(基于pytorch) 总的来说,就是将独热向量的长度(对应嵌入层的num_embeddings)转变为嵌入层的emdedding_size(而独热向量的维数就是你的数据中一共产生了多少个不一样的词,至少是这么多)。 数据的变化,将二维

纸上得来终觉浅,绝知此事要躬行! 1632

人大金仓集群部署(主备)

4.2 上传安装包镜像和授权文件到install目录下并授权。1、复制系统脚本到/opt/kingbase目录下(主节点)4.2 修改cluster_install.sh。回车进行下一步,直到出现以下界面,回复Y键回车。三、安装kingbase客户端段(都要安装)install目录作为安装包具体存放目录。4.1 修改install.conf文件。2、复制授权文件到安装目录下(主节点)3、修改ssh参数(节点都要配置)5、安装kingbase客户端。二、基本环境配置(都要配置)6、数据库集群安装(主节点)

edutech_wang的博客 1996

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可; 优点:可设置丰富的EXCEL格式,缺点:需要依赖EXCEL组件,且EXCEL进程在服务器中无法及时关闭,以及服务器上会存留大量的不必要的XLS文件; 2.设置输出头为:application/ms-excel,再输出...

weixin_34290096的博客 191

05、CAN 总线拓扑结构详解,线型拓扑搭建要点

CAN总线拓扑与信号完整性优化 本文通过工程实践经验,深入剖析了CAN总线系统中信号完整性的关键要素。主要内容包括: 终端电阻的核心作用:必须严格在总线两端配置120Ω电阻,形成60Ω等效阻抗以匹配双绞线特性阻抗,避免信号反射导致的波形畸变。 阻抗匹配原理:解释了信号能量管理机制,指出阻抗不连续会导致信号反射,并通过示波器波形特征(如振铃现象)判断阻抗失配问题。 信号完整性多维要求:强调信号质量不仅涉及波形存在与否,还包括边沿斜率、共模电压范围等关键参数,这些直接影响通信可靠性。 工程实践建议:提供了终端电

2401_88858637的博客 178

ASP.NET MVC导出EXCEL

ASP.NET MVC导出EXCEL1、引用NPOI插件(NuGet程序包下载)2、将要导出的数据查询出来,创建表格,最后输出数据(实例演示) 1、引用NPOI插件(NuGet程序包下载) 2、将要导出的数据查询出来,创建表格,最后输出数据(实例演示) (1)我这里是根据前台传日期到控制器方法来查询到数据并生成EXCEL表格 (2)实例演示 public ActionResult Excel(string StartDate, string EndDate) { D

Hubery_one的博客 1121

CodeQL查询时遇到报错:A fatal error occurred: Could not process query metadata for...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1084

yolov8知识蒸馏代码详解:支持logit和feature-based蒸馏

特别地,在COCO数据集上对MAP中的RetinaNet检测器(resnet50主干)获得了3.4%的性能提升,在Cityscapes数据集上, 针对mIoU指标,PSPNET(resnet-18 backbone)获得5.81%的性能提升。大部分的KD方法都是通过algin学生网络和教师网络的归一化的feature map, 最小化feature map上的激活值的差异。MGD是一种真正通用的基于特征feature的知识蒸馏方法,它可以用于各种任务,包括图像分类,目标检测,语义分割和实例分割。

@bangbang的博客 7286

MVC之Excel导出表格数据

MVC之Excel导出表格数据 第一步:先把Excel导出的插件(NPOI)引用进来; 第二步:然后通过linq语句查询出需要导出的数据表\集合(list),当然前提是你有引用了数据库实体模型,并实例化了数据库实体; 例如: 在当前类下面实例化实体 Models.GZJSJEntities myModels = new Models.GZJSJEntities(); 然后创建一个导出数据的方法,通...

weixin_44543135的博客 853

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MVC+jQuery 无刷新导出EXCEL的过程(伪excel格式)

MVC+jQuery 无刷新导出EXCEL的过程(伪excel格式): 伪excel格式:用excel能打开显示正常,但会打开会有提示。 1、在网页中建立Jquery过程,实现无刷新下载 jQuery.download = function (url, data, method) { // 获得url和data if (url && data) {

朱朱家园 1802

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ASP.NET MVC 导入、导出Excel方法

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具和关键技术:Visual Studio 2015,ASP.NET MVC 作者:金建勇 撰写时间:2019年5月1日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 在做MVC的项目中,常常会有涉及对很多数据的操作,而经...

依然的博客 7967

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

MVC excel文档导出

MVC excel文档导出 首先需要用到一个插件NPOI.dll 引入到引入里面 导出有两种,一种是固定模板,一种是自定义模板,下面是固定模板: 首先我们要把固定模板放到一个文件夹里面 然后就可以导出了 //1-检查模板文件是否存在 // Server.MapPath 将相对的路径转为实际的物理路径 string templatePath = Server.MapPath("模板所在的位置"); //==2-使用NPOI打开模板Exc

liuzhenweii的博客 303

MVC Excel导入导出

MVC Excel导入导出 开发工具与关键技术:Microsoft Visual Studio C# 作者:肖佳鑫 撰写时间:2020年8月 5日 1、导出 数据的导出都是利用了浏览器的下载功能 在新页面打开下载的路径 利用微软的msoffice excel 比较麻烦上传端和下载端的excel版本需要一致小版本也要一致 否则就会报错而且导出的一端也必须要安装版本一致的office 利用.NET的POI库简称NPOI专门用来操作文档, 主要是用xls(1997~2003)版本的后缀名兼容性比

weixin_46767263的博客 397

mvc npoi导出excel ajax,ASP.Net MVC利用NPOI导入导出Excel

因近期项目遇到所以记录一下:首先导出Excel:首先引用NPOI包http://pan.baidu.com/s/1i3Fosux(Action一定要用FileResult)/// /// 批量导出本校第一批派位学生/// /// public FileResult ExportStu2(){string schoolname = "";//创建Excel文件的对象NPOI.HSSF.UserMod...

weixin_35394437的博客 2812

MVC把表格导出到Excel

有关Model: namespace MvcApplication1.Models { public class Coach { public int Id { get; set; } public string Name { get; set; } } }   HomeController中,借助GridView控件把内...

weixin_33898233的博客 238

C#、MVC的利用NPOI的Excel数据导出

MVC中Excel表格数据导出: 第一种:在已有的模板上导出数据(前提是构建好模板) 第二种:正常的导出数据 第三种:含有合并表头的的数据导出 不管是哪一种,数据导出都是建立在NPOI插件基础上的,都需要先将NPOI放入到项目中bin文件夹里面,然后添加引用 含有合并表头的数据导出: 整体思路:先创建好工作簿,然后在该工作簿中创建工作表。然后在工作表中创建第一行,接着在第一行创建单元格,然后给这个单元格设置样式、内容,需要注意的是:因为是合并表头,所以需要合并单元格。 然后接着在工作表中创建表头行,因为合并

weixin_47316183的博客 894

MVC 使用FileResult导出excel文件实例

public FileResult ExportExcel() { var sbHtml = new StringBuilder(); sbHtml.Append(""); sbHtml.Append(""); var lstTitle = new List { "编号", "姓名",

whaxrl的专栏 7106

.Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法)

 http://blog.youkuaiyun.com/gx_liangwenlong/article/details/46277277 通过MVC控制器导出导入Excel文件(可用于java SSH架构) [csharp] view plain copy print? public class ExcelController : Controlle

liuqiaoying_lqy的专栏 5145
上一篇: jQuery编程基础精华(属性、表单过滤器,元素的each,表单选择器,子元素过滤器(*),追加方法,节点,样式操作)
下一篇: 存储过程 Row_number
严芷云
博客等级 码龄12年 15粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值