tnblog
首页
视频
资源
登录

Excel的创建以及填充数据

7301人阅读 2019/11/29 13:07 总访问:127307 评论:1 收藏:0 手机
分类: .NET MVC

在公司实际开发中,我们用到Excel文件的地方很多,下面我来讲解一下如何创建


比如我们做一个如下图的报表:


前台页面设计:


  1. @{
  2.     ViewBag.Title = "Index";
  3. }
  4. <a href="/Excel/Down2">下载</a>

后台代码:


  1. public void Down2() {
  2.             //创建Excel文件
  3.             HSSFWorkbook workbook = new HSSFWorkbook();
  4.             //创建表
  5.             HSSFSheet sheet = workbook.CreateSheet("业绩表") as HSSFSheet;
  6.             //创建行
  7.             HSSFRow row1 = sheet.CreateRow(0) as HSSFRow;
  8.             row1.Height = 600;
  9.             HSSFRow row2 = sheet.CreateRow(1) as HSSFRow;
  10.             row2.Height = 600;
  11.             HSSFRow row3 = sheet.CreateRow(2) as HSSFRow;
  12.             row3.Height = 600;
  13.             for (int i = 0; i < 8; i++)
  14.             {
  15.                 row1.CreateCell(i);
  16.                 row2.CreateCell(i);
  17.                 row3.CreateCell(i);
  18.                 //设置列宽
  19.                 sheet.SetColumnWidth(i, 1000*3);
  20.             }
  21.             //合并前四列
  22.             for (int i = 0; i < 4; i++)
  23.             {
  24.                 sheet.AddMergedRegion(new NPOI.SS.Util.Region(0, i, 2, i));
  25.             }
  26.             //合并第一行5列到8
  27.             sheet.AddMergedRegion(new NPOI.SS.Util.Region(0407));
  28.             //合并第523
  29.             sheet.AddMergedRegion(new NPOI.SS.Util.Region(1424));
  30.             //合并第623
  31.             sheet.AddMergedRegion(new NPOI.SS.Util.Region(1525));
  32.             //合并第二行78
  33.             sheet.AddMergedRegion(new NPOI.SS.Util.Region(1617));
  34.             //水平垂直居中样式
  35.             HSSFCellStyle cellStyle = workbook.CreateCellStyle() as HSSFCellStyle;
  36.             cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER;
  37.             cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER;
  38.             row1.GetCell(0).SetCellValue("编码");
  39.             row1.GetCell(0).CellStyle = cellStyle;
  40.             row1.GetCell(1).SetCellValue("月度");
  41.             row1.GetCell(1).CellStyle = cellStyle;
  42.             row1.GetCell(2).SetCellValue("工资");
  43.             row1.GetCell(2).CellStyle = cellStyle;
  44.             row1.GetCell(3).SetCellValue("绩效");
  45.             row1.GetCell(3).CellStyle = cellStyle;
  46.             row1.GetCell(4).SetCellValue("8月经营性指标");
  47.             row1.GetCell(4).CellStyle = cellStyle;
  48.             row2.GetCell(4).SetCellValue("在职人数");
  49.             row2.GetCell(4).CellStyle = cellStyle;
  50.             row2.GetCell(5).SetCellValue("新增人数");
  51.             row2.GetCell(5).CellStyle = cellStyle;
  52.             row2.GetCell(6).SetCellValue("实际销售为准");
  53.             row2.GetCell(6).CellStyle = cellStyle;
  54.             row3.GetCell(6).SetCellValue("人力");
  55.             row3.GetCell(6).CellStyle = cellStyle;
  56.             row3.GetCell(7).SetCellValue("出单率");
  57.             row3.GetCell(7).CellStyle = cellStyle;
  58.             
  59.             //测试数据
  60.             for (int i = 3; i < 12; i++)
  61.             {
  62.                 //创建行
  63.                 HSSFRow sub = sheet.CreateRow(ias HSSFRow;
  64.                 //创建列
  65.                 sub.CreateCell(0).SetCellValue("aa" + i);
  66.                 sub.CreateCell(1).SetCellValue("bb" + i);
  67.                 sub.CreateCell(2).SetCellValue("cc" + i);
  68.                 sub.CreateCell(3).SetCellValue("dd" + i);
  69.                 sub.CreateCell(4).SetCellValue("ee" + i);
  70.                 sub.CreateCell(5).SetCellValue("ff" + i);
  71.                 sub.CreateCell(6).SetCellValue("hh" + i);
  72.                 sub.CreateCell(7).SetCellValue("ii" + i);
  73.             }
  74.             
  75.             //内存流
  76.             MemoryStream memory = new MemoryStream();
  77.             workbook.Write(memory);
  78.             Response.AddHeader("Content-Disposition""attachment;filename=公司业绩.xls");
  79.             Response.BinaryWrite(memory.ToArray());
  80.         }


下载注意事项:

当我们想要点击某个按钮下载Excel文件时,我们在结束时加上

//内存流

MemoryStream memory = new MemoryStream();

workbook.Write(memory);

Response.AddHeader("Content-Disposition", "attachment;filename=公司业绩.xls");

Response.BinaryWrite(memory.ToArray());

说明:我们需要把生成的文件通过文件流转换正二进制数组,这样我们才可以下载



然后我们点击下载就可以下载一个Excel电子表(公司业绩.xls)

电子表格效果如图:

在实际开发中,我们可以根据自己的需要来填充数据


是不是很简单呢,你学会了吗?


评价

是伍尚金哇_v

2019/11/29 14:49:25

学会了哇 哈哈 太有用了[赞]

使用OLEDB读取不同版本Excel的连接字符串设置

使用OleBD读取excel的时候,excel不同的版本,连接字符串的写法也会不一样。///&lt;summary&gt; ///读取excel ///&lt;/su...

NPOI操作Excel 2007/2010版本

HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xlsXSSFWorkbook:是操作Excel2007的版本,扩展名是.xlsx先...

DevExpress.XtraSpreadsheet.SpreadsheetControl控件 加载Excel模板

stringpath=&quot;文件路径&quot;; DevExpress.XtraSpreadsheet.SpreadsheetControlspreadsheetControl=newDevExpress.Xtr...

NPOI读取ExcelExcel 导入。日期类型读取

NPOI是一个优秀的操作excel的库,可以很方便的进行excel的读取与导出NPOI读取excelpublicActionResultReadExcel() { //打...

NPOI导出Excel。根据模板导出Excel

使用NPOI导出excel///&lt;summary&gt; ///导出excel(下载excel) ///&lt;/summary&gt; publicvoidToExcel() { HSSFWo...

.net core使用requestresponse下载文件下载Excel

使用request获取内容net core中request没有直接的索引方法,需要点里边的Query,或者formstringbase64=Request.Form[&quot;f...

使用NPOI导出Excel(包括图片)

Excl模板导出相信我们都会,那么模板上要导出图片呢?嗯~还是来个例子:准备工作:首先要引用NPOI包:然后获取数据集(我这...

Excel的一点使用记录

做了这么多年开发,其实对excel的使用其实并不是太了解,记录一下遇到的,用以备忘excel的简单公式比如我们要做这样一个公...

Excel文件的读取

童鞋们,好久不见,今天我们来简单的学习一下Excel文件的读取。首先,我们可以手动创建一个Excel文件例如:然后另存为,格...

使用微软本身自带读取Excel数据

使用步奏: 1.导入插件using System.Data.OleDb; 2.获取文件路径 3.连接字符串 4.实例化Excel读取连接对象 5.打开连接对象 ...

使用NPOI插件读取Excel数据

方法步奏: 1.导入NPOI插件和文件IO 2.获取文件路径 3.打开文件 4.通过文件夹打开表格 ...

C下载Excel文件并且填充数据

引用NPOI.dll文件库usingNPOI.HSSF.Model; usingNPOI.HSSF.UserModel; usingNPOI.HSSF.Util;在当期项目添加一个Excel模板...

.NET MVC 中 Excel的读取操作

经常看到新闻说熬夜可能会猝死,真是吓死我了,以后再也不看新闻了。个如你一般的人今天我们分享的文章是关于mvc框架中对Ex...

.NET mvc Excel的导入导出解析

“为什么越靠北方地区的人性格越直接?”“天寒地冻的,谁有时间跟你磨叽?”今天我们讲解的内容是关于在mvc框架里对Excel...

NPOI对Excel的读取

publicActionResultIndex() { //打开excel所在的位置 FileStreamstream=newFileStream(Server.MapPath(&quot;~/Content/...
网络上你重拳出击,现实中你刚上初一
排名
27
文章
20
粉丝
11
评论
5
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
一个人觉得寂寞,和另一个人相互依偎又有什么错