美文网首页
asp.net生成excel

asp.net生成excel

作者: 青木川_ | 来源:发表于2018-05-11 15:03 被阅读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

    相关文章

      网友评论

          本文标题:asp.net生成excel

          本文链接:https://www.haomeiwen.com/subject/aetorftx.html