第三种方式呢,就是借用第三方插件 NPOI 来实现Execl 导出

第一步:在NuGut包中下载NPOI 组件

第二步:编辑控制器代码

 public FileResult ExcelNewKeyPromotion()
{
string title = "Market Sensing-Key Promotion"; var model = GetList(); NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1"); IFont font = book.CreateFont();
font.FontHeightInPoints = ;
font.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Bold;//加粗 IFont font1 = book.CreateFont();
font1.FontHeightInPoints = ;
font1.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Bold;//加粗 NPOI.SS.UserModel.IRow row0 = sheet1.CreateRow();
SetCellRangeAddress(sheet1, , , , ); //设置夸单元格
ICellStyle cellstyle = book.CreateCellStyle();//设置垂直居中格式
cellstyle.Alignment = HorizontalAlignment.Center; //设置水平居中
cellstyle.VerticalAlignment = VerticalAlignment.Center;//垂直居中
cellstyle.SetFont(font); //设置字体
ICell cell = row0.CreateCell();
cell.CellStyle = cellstyle;
cell.SetCellValue(title); NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(); ICellStyle Rowstyle = book.CreateCellStyle();//设置垂直居中格式
Rowstyle.VerticalAlignment = VerticalAlignment.Center;//垂直居中
Rowstyle.Alignment = HorizontalAlignment.Center; //设置水平居中
Rowstyle.FillPattern = FillPattern.SolidForeground;
Rowstyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Grey25Percent.Index; //设置背景色
Rowstyle.SetFont(font1);
var lstTitle = new List<string> { "Year", "Week", "Date"};
for (int i = ; i < lstTitle.Count(); i++)
{
ICell cellRow1 = row1.CreateCell(i);
cellRow1.CellStyle = Rowstyle;
cellRow1.SetCellValue(lstTitle[i]);
} // row1.CreateCell(12).SetCellValue("Photo");
ICell cellRow2 = row1.CreateCell();
cellRow2.CellStyle = Rowstyle;
cellRow2.SetCellValue("Photo");
Rowstyle.SetFont(font1);
SetCellRangeAddress(sheet1, , , , ); //设置夸单元格 int rowIndex = ;
for (int i = ; i < model.Count; i++)
{
NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + ); rowtemp.Height = ; //设置行高 rowtemp.CreateCell().SetCellValue(model[i].Id.ToString());
rowtemp.CreateCell().SetCellValue(model[i].Name.ToString());
rowtemp.CreateCell().SetCellValue(model[i].CreateTime.ToString("yyyy-MM-dd hh:mm:ss")); rowIndex++;
} System.IO.MemoryStream ms = new System.IO.MemoryStream();
book.Write(ms);
ms.Seek(, SeekOrigin.Begin); string fileName = "Market Sensing / KeyPromotion.xls";
return File(ms, "application/vnd.ms-excel", fileName); }

第三步:前端页面

 function ExcelNewKeyPromotion() {

        window.open("/Home/ExcelNewKeyPromotion")
}

MVC 导出Execl 的总结几种方式 (三)的更多相关文章

  1. MVC 导出Execl 的总结几种方式 (二)

    接着上面的来,继续导出Execl 的功能 使用FileResult 方式直接可以生产Execl ,这样我们将会写大量处理后台的代码,个人感觉不好,只是展示出来,提供参考 第一步:编辑控制器 publi ...

  2. MVC 导出Execl 的总结几种方式 (四)

    这种方式我个人还是比较喜欢的,使用部分视图的方式,导出Execl 这样在编辑样式上也是很方便的 第一步: 编辑导出视图页 @using H5UpdateImage.Models; @{ Layout ...

  3. MVC 导出Execl 的总结几种方式 (一)

    在ASP.NET 中导出Execl 表格有很多方式,有利有弊,就是看自己怎么使用了:下面就是自己总结了几种导出Execl 方式的,仅供参考. 导出Execl 的原理都是一样的,其实都是将数据整合成ta ...

  4. .NET环境下导出Excel表格的两种方式和导入两种类型的Excel表格

    一.导出Excel表格的两种方式,其中两种方式指的是导出XML数据类型的Excel(即保存的时候可以只需要修改扩展名为.xls)和真正的Excel这两种. using System; using Sy ...

  5. MVC验证10-到底用哪种方式实现客户端服务端双重异步验证

    原文:MVC验证10-到底用哪种方式实现客户端服务端双重异步验证 本篇将通过一个案例来体验使用MVC的Ajax.BeginForm或jQuery来实现异步提交,并在客户端和服务端双双获得验证.希望能梳 ...

  6. spring mvc获取路径参数的几种方式 - 浅夏的个人空间 - 开源中国社区

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  7. mvc 导出execl

    mvc导出execl 必须是get方法才可以  也不能使用ajax function ComplaintsExport() { var serial = $("form").ser ...

  8. Spring MVC中forward请求转发2种方式(带参数)

    Spring MVC中forward请求转发2种方式(带参数) http://www.51gjie.com/javaweb/956.html  

  9. PHP导出excel文件的几种方式

    PHP导出excel文件的几种方式 先说说动态生成的内容当作文件来下载的方法: 1.通过把Content-Type设置为application/octet-stream,可以把动态生成的内容当作文件来 ...

随机推荐

  1. Reservoir Sampling-382. Linked List Random Node

    Given a singly linked list, return a random node's value from the linked list. Each node must have t ...

  2. Java并发工具类之线程间数据交换工具Exchanger

    Exchanger是一个用于线程间协做的工具类,主要用于线程间的数据交换.它提供了一个同步点,在这个同步点,两个线程可以彼此交换数据.两个线程通过exchange方法交换数据,如果一个线程执行exch ...

  3. vue学前班004(基础指令与使用技巧)

    我学vue 的最终目的是为了 做apicloud 和vue 的开发  作为配合apicloud的前端框架使用 所以项目用不到的会暂时不介绍. (强烈建议  官网案例走一遍) 基础指令的学习(结合aui ...

  4. php获取客户端ip地址方法

    /** * 获取客户端IP地址 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @param boolean $adv 是否进行高级模式获取(有 ...

  5. webpack处理url资源的配置

    webpack处理url资源的配置 1.安装 npm i url-loader -D 2.修改webpack.config.js const path = require('path'); // 启用 ...

  6. Python -- Gui编程 -- Win32API的使用

    消息框 messageBox.py import win32api, win32con win32api.MessageBox(0, 'Hello World!', 'Come Here', win3 ...

  7. Chapter 3 Phenomenon——12

    Naturally, the ambulance got a police escort to the county hospital. 自然而然的,救护车让一个警察陪护到县医院去. 自然,救护车一路 ...

  8. 手机浏览器_安卓_苹果手机Webview 中唤醒APP

    Url scheme是iOS,Android平台都支持,只需要原生APP开发时注册scheme, 那么用户点击到此类链接时,会自动跳到APP.比如 <!-- 打开考拉APP首页 --> & ...

  9. 配置jenkins slave 问题,ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.

    因为需要需要搭建一套自动化环境的windows电脑作为slave,简单的把原来用来mac上的job配置一模一样的配置了下,运行时遇到如上问题,google半天百思不得其解, 后来尝试把SCM里面的br ...

  10. 使用 Nginx + Tomcat 搭建负载均衡

    负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 负载均衡,英文名称为Load Balance, ...