MVC导出

数据的导出
Excel 利用了浏览器的文件下载
                   NPOI导出excel
创建工作簿
NPOI.HSSF.UserModel.HSSFWorkbook 
创建工作表
NPOI.SS.UserModel.ISheet 
设置表标题
创建行
NPOI.SS.UserModel.IRow 行rowTitle
rowTitle.HeightInPoints 设置行高
创建单元格 给单元格设置值
 设置单元格的样式
 
设置表头
创建一行 索引
设置行高 rowl.Height=22*20
创建单元格 并设置值
rowl.CreateCell(0).SetCellValue(“×ד)
创建表头样式
 
遍历查询到的数据,设置表格数据
创建数据内部部分 单元格样式
声明样式
Alignment水平居中 VerticalAlignment 垂直居中
设置边框线为实线
cellstyle_value.BorderLeft/Top/Right/Bottom = NPOI.SS.UserModel.BorderStyle.Thin;
遍历数据,创建数据部分行列
创建行
给单元格添加样式
设置列宽为自动适应
 
把创建好的Excel输出到浏览器
 
                 使用模板方式导出Excel
//读取模板
获取模板的路径
string templateFilePath = Server.MapPath("~/Document/ARDataTemplate.xls");
判断文件是否存在
     if (!System.IO.File.Exists(templateFilePath))
                {
                    return Content("导出失败,无法找到导出模板,请联系网站管理人员");
                }
使用NPOI打开模板Excel
使用文件打开模板文件
FileStream fileSteam = new FileStream(templateFilePath, FileMode.Open);
把文件流转为工作簿
NPOI.HSSF.UserModel.HSSFWorkbook excelBookTemplate = new NPOI.HSSF.UserModel.HSSFWorkbook(fileSteam);
打开模板所在第一个工作表
                NPOI.SS.UserModel.ISheet sheet = excelBookTemplate.GetSheetAt(0);
                NPOI.SS.UserModel.ICellStyle style = excelBookTemplate.CreateCellStyle();
设置标题
往模板中填充数据
设置数据单元格的样式
水平居中 Alignment   垂直居中   VerticalAlignment
设置边框为实线
style.BorderLeft/Top/Right/Bottom = NPOI.SS.UserModel.BorderStyle.Thin;
设置行高 row.Height
设置单元格数据
row.CreateCell(0).SetCellValue(i+1)
row.CreateCell(1).SetCellValue(list[i].””)
row.CreateCell(1).SetCellValue(list[i].””.ToString())
设置单元格样式
for (int j = 0; j < row.Cells.Count; j++)
                    {
                        row.GetCell(j).CellStyle = style;
                    }
                    index++;

以流的方式返回
string fileName = "" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff") + ".xls";
把Excel转化为流输出
  MemoryStream BookStream = new MemoryStream();//定义内存流
                excelBookTemplate.Write(BookStream);//将工作薄写入内存流
                BookStream.Seek(0, SeekOrigin.Begin);//输出之前调用Seek(偏移量,游标位置)方法:获取文件流的长度
                return File(BookStream, "application/vnd.ms-excel", fileName); // 文件类型/文件名称/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值