asp.net生成excel

2018-05-11  本文已影响17人  青木川_

参考文档:http://e-iceblue.cn/spirexls/add-excel-watermark.html
首先,引入using Spire.Xls;

用vs的nuget下载


image.png

这个是free版的
代码如下


image.png

请复制:
//创建一个workbook对象,默认创建03版的Excel
Workbook workbook = new Workbook();
//指定版本信息,07及以上版本最多可以插入1048576行数据
workbook.Version = ExcelVersion.Version2013;
//获取第一张sheet
Worksheet sheet = workbook.Worksheets[0];
//得到在datatable里的数据
DataTable dt = sqlhelper.publicFun("select dataHead_A0,dataHead_A1 from tb_dataHead where bigclass_Id=" + bigclass_Id + " and second_Id="+second_Id+"");
//从第一行第一列开始插入数据,true代表数据包含列名
sheet.InsertDataTable(dt, true, 1, 1);
//从第一行第一列开始插入数据,false代表数据去掉列名
//sheet.InsertDataTable(dt, false, 1, 1);
//从弟二行第一列插入数据
//生成一个随机数
Random rnd = new Random();
int n = rnd.Next(1000, 9999);
string filN = "ExportDataToExcel" + DateTime.Now.ToString("yyyy-MM-dd") +n+ ".xlsx";
string name = context.Server.MapPath("../upfiles/" + filN);
//保存文件
workbook.SaveToFile(name, ExcelVersion.Version2013);
context.Response.Write("新增成功");


image.png

这里有几点讲下:
1.随机数,避免excel重复
2.文件的路径,一定是绝对路径,所以相对路径进行转化。
效果:


image.png
我的列名称也在上面
如何去掉呢
image.png
将True换为False
效果如图:
image.png

到这里还不行:你可以选择不看,因为目前为止,我的项目还需要有很多变化。
效果


image.png

给第一行加上背景颜色:
sheet.Range["A1:E1"].Style.Color = Color.Orange;
全部代码:
//创建一个workbook对象,默认创建03版的Excel
Workbook workbook = new Workbook();
//指定版本信息,07及以上版本最多可以插入1048576行数据
workbook.Version = ExcelVersion.Version2013;
//获取第一张sheet
Worksheet sheet = workbook.Worksheets[0];
//得到在datatable里的数据
DataTable dt = sqlhelper.publicFun("select dataHead_A0 as '大类',dataHead_A1 from tb_dataHead where bigclass_Id=" + bigclass_Id + " and second_Id=" + second_Id + "");
//从第一行第一列开始插入数据,true代表数据包含列名
//sheet.InsertDataTable(dt, true, 1, 1);
//从第一行第一列开始插入数据,false代表数据去掉列名
sheet.InsertDataTable(dt, false, 1, 1);
//生成一个随机数
Random rnd = new Random();
int n = rnd.Next(1000, 9999);
string filN = "ExportDataToExcel" + DateTime.Now.ToString("yyyy-MM-dd") + n + ".xlsx";
string name = context.Server.MapPath("../upfiles/" + filN);
sheet.Range["A1:E1"].Style.Color = Color.Orange;
//保存文件
workbook.SaveToFile(name, ExcelVersion.Version2013);
//为EXCEL加上背景
//workbook.LoadFromFile(name);
//Worksheet sheet = workbook.Worksheets[0];
//为Excel Range 分别设置背景色


image.png
上一篇下一篇

猜你喜欢

热点阅读