第三种方式呢,就是借用第三方插件 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. AVFoundation - 拍照(Simple)

    1:基础 /* 1:获取可用输入设备 AVCaptureDevice 2:设置输入设备: [AVCaptureDeviceInput deviceInputWithDevice:self.captur ...

  2. FunDA(8)- Static Source:保证资源使用安全 - Resource Safety

    我们在前面用了许多章节来讨论如何把数据从后台数据库中搬到内存,然后进行逐行操作运算.我们选定的解决方案是把后台数据转换成内存中的数据流.无论在打开数据库表或从数据库读取数据等环节都涉及到对数据库表这项 ...

  3. 题解 P1731 【生日蛋糕】

    题面传送门 如果不懂DFS,请自觉睡觉: 如果不懂剪枝,请自觉睡觉: 啊哈,大家的思路一定和我一样--DFS,找个数组存储半径和高,可是如单单使用DFS不加剪枝的话,10分--20分. 所以,我们来想 ...

  4. 二叉排序树的理解和实现(Java)

    二叉排序树的定义和性质 二叉排序树又称二叉排序树.它或者是一个空树,或者是一个具有下列性质的二叉树: 若它的左子树不空,则左子树上所有节点的值均小于它的根结构的值 若它的右子树不空,则右子树上所有结点 ...

  5. 八、Linux上常用网络操作

    1. 主机名配置 hostname 查看主机名 hostname xxx 修改主机名 重启后无效 如果想要永久生效,可以修改/etc/sysconfig/network文件 2. IP地址配置 set ...

  6. SqlServer内存占用查看

    查看每个数据库对内存的占用 SELECT ISNULL(DB_NAME(DATABASE_ID),'RESOURCEDB') AS DATABASENAME, ,)) AS 'SIZE(MB)' FR ...

  7. Python基础5:列表 元祖 字典 集合 Json

    [ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...

  8. 剑指offer二十九之最小的K个数

    一.题目 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 二.思路 详解代码. 三.代码 import java.util. ...

  9. 漫谈NIO(2)之Java的NIO

    1.前言 上章提到过Java的NIO采取的是多路IO复用模式,其衍生出来的模型就是Reactor模型.多路IO复用有两种方式,一种是select/poll,另一种是epoll.在windows系统上使 ...

  10. h5 端图片上传

    1.upload.js (function($) { $.extend($.fn, { images : new Array(), initImages:function (images) { $.e ...