Excel的导出

年级: 2019级          姓名:梁峻豪        性别:男       
本技术文献起止时间 2020 年  08 月 15 日 ~ 2020年 08 月 18 日

文献种类:所学知识文献;
开发工具与关键技术:VS - Excel的导出
作者: 梁峻豪 ;年级:1902 ;撰写时间:2020 年 08 月 17日

数据的主要形式大多都是表格的形式,经常都要把数据导成Excel,至此Excel的导出技术会比较常用, 使用NPOI方法导出到Excel可以大量提高导出速度!下面我们来说说Excel的导出( NPOI ) :
Excel数据的导出利用的是浏览器的(文件下载)功能,浏览器要用文件下载的话基本上都是通用的写法,就是把需要下载的链接在新窗口中打开(window.open),如果在本页面打开的话浏览器很难去识别为调用. 导出数据由于涉及Excel的操作,而c#是不直接支持Excel的操作,所以我们要用到第三方组件,这里其实有两种选择:
1微软的Msoffice-Excel(比较麻烦 比如以后再本机开发完了.在服务器其他电脑上去运行的话office版本不同导致报错)
2 NPOI(.NET POI-库) 把以下组件添加到引用
前提条件:查询出需要导出的数据、条件筛选.
在这里插入图片描述

Controller思路步骤:
1:创建工作簿:
NPOI.HSSF.UserModel.HSSFWorkbook workbook = new NPOI.HSSF.UserModel.HSSFWorkbook();
2:创建工作表: NPOI.SS.UserModel.ISheet sheet1 = workbook.CreateSheet();
3:设置表标题(创建行、创建单元格、单元格设置值、合并单元格、设置单元格样式)。
4:设置表头(创建一行索引”1”、创建单元格并设置之、设置表头的样式” 声明样式、水平居中、垂直居中、设置背景颜色、设置边框线为实线、设置字体-声明字体-加粗-字体大小”)。
5:遍历查询到的数据设置表格数据(创建数据内部部分 单元格样式同上、不需设置字体)、遍历数据,创建数据部分行列。
在这里插入图片描述

6:设置列宽为自适应:
for (int i = 0; i < sheet1.GetRow(1).Cells.Count; i++)
{
sheet1.AutoSizeColumn(i);
sheet1.SetColumnWidth(i, sheet1.GetColumnWidth(i) * 17 / 10);
}
7:把创建好的Excel输出到浏览器:
string fileName = “旅客信息” + DateTime.Now.ToString(“yyyy-MM-dd-HH-mm-ss-ffff”) + “.xls”;
8: 最后把Excel转化为流输出:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Gksjn/article/details/108062726