C#使用NPOI 导出Excel

C#使用NPOI 导出ExcelC#使用NPOI导出Excel首先需要添加NPOI的引用//创建Excel文件的对象HSSFWorkbookbook=newHSSFWorkbook();//添加一个sheetIRowrow2=sheet1.CreateRow(0);row2.CreateCell(0).SetCellValue(“序号”);row2.CreateCell(1).SetC

大家好,又见面了,我是你们的朋友全栈君。

C#使用NPOI 导出Excel

首先需要添加NPOI的引用

 //创建Excel文件的对象
            HSSFWorkbook book = new HSSFWorkbook();
            //添加一个sheet
            IRow row2 = sheet1.CreateRow(0);
            row2.CreateCell(0).SetCellValue("序号");
            row2.CreateCell(1).SetCellValue("作业许可单号");
            row2.CreateCell(2).SetCellValue("申请人");
            row2.CreateCell(3).SetCellValue("申请单位");
            row2.CreateCell(4).SetCellValue("作业日期(起)");
            row2.CreateCell(5).SetCellValue("作业日期(讫)");
            row2.CreateCell(6).SetCellValue("主承揽商");
            row2.CreateCell(7).SetCellValue("次承揽商");
            row2.CreateCell(8).SetCellValue("工作内容");
            row2.CreateCell(9).SetCellValue("工作人员");
            row2.CreateCell(10).SetCellValue("人数(仅供参考)");
            if (list != null && list.Count > 0)
            { 
   
                for (var i = 0; i < list.Count; i++)
                { 
   
                    IRow rowtemp2 = sheet1.CreateRow(i + 1);
                    //非表头
                    rowtemp2.CreateCell(0).SetCellValue(i + 1);//序号
                    rowtemp2.CreateCell(1).SetCellValue(list[i].ApplyNo);
                    rowtemp2.CreateCell(2).SetCellValue(list[i].ApplyInfo);
                    rowtemp2.CreateCell(3).SetCellValue(list[i].ApplyDept);
                    rowtemp2.CreateCell(4).SetCellValue(list[i].oper_from_dt.Substring(0, 10));
                    rowtemp2.CreateCell(5).SetCellValue(list[i].oper_to_dt.Substring(0, 10));
                    rowtemp2.CreateCell(6).SetCellValue(list[i].guard_name);
                    rowtemp2.CreateCell(7).SetCellValue(list[i].guard_send_name);
                    rowtemp2.CreateCell(8).SetCellValue(list[i].oper_content);
                    var guardWorker=list[i].GuardWorker.TrimStart(',').TrimEnd(',');
                    rowtemp2.CreateCell(9).SetCellValue(guardWorker);
                    rowtemp2.CreateCell(10).SetCellValue(Split(guardWorker).Length);
                }
            }
               MemoryStream ms = new MemoryStream();
            book.Write(ms);
            ms.Seek(0, SeekOrigin.Begin);
          
           
  1. 当为Webform项目时
  //输出Excel
            string filename = "紧急入场统计" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
            Response.Clear();
            Response.ContentType = "application/vnd.ms-excel";
            Response.AddHeader("Content-Length", ms.Length.ToString());
            Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", Server.UrlEncode(filename)));
            Response.BinaryWrite(ms.GetBuffer());
            Response.Flush();
            Response.End();
  1. 当为MVC项目时

            MemoryStream ms = new MemoryStream();
            book.Write(ms);
            ms.Seek(0, SeekOrigin.Begin);
            return File(ms, "application/vnd.ms-excel", survey.Name + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".xls");
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150144.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 三星ODIN刷机包的修改

    三星ODIN刷机包的修改SunnyOK系列讲座索引【第一讲】如何用Odin刷机-新手必读http://bbs.gfan.com/android-1653492-1-1.html【第二讲】I897卡刷或CWM刷机教程http://bbs.gfan.com/android-1701867-1-1.html【第三讲】APK应用程序的解包、修改、编辑、打包及应用http://bbs

    2022年7月21日
    19
  • java开发规范(个人理解)

    java开发规范(个人理解)

    2021年8月3日
    392
  • 什么是linux Qt[通俗易懂]

    什么是linux Qt[通俗易懂]Qt是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,目前包括Qt,基于Framebuffer的QtEmbedded,快速开发工具QtDesigner,国际化工具QtLinguist等部分Qt支持所有Unix系统,当然也包括Linux,还支持WinNT/Win2k,Win95/98平台。

    2022年5月17日
    31
  • getElementById怎么调用

    getElementById怎么调用getElementById怎么调用浏览次数:1414次悬赏分:0|解决时间:2011-4-2818:27|提问者:匿名最佳答案首先都有一个Document对象然后你就可以借这个方法来引用网页文件中各个标签的属性了,当然这个被你引用的标签必须具有ID属性;比如,上面那个标签img就具有ID属性,那么我想获取他的图片地址,可以这么用Document.get

    2022年7月15日
    25
  • 汇编指令和机器码的对应表_汇编和机器码对照表

    汇编指令和机器码的对应表_汇编和机器码对照表指令集依照机器操作码、汇编助记符和汇编操作数来描述指令,遵循下列约定:lreg8:8位寄存器。lreg16:16位寄存器。lmem8:8位内存数值。lmem16:16位内存数值。limmed8:8位立即数值。limmed16:16位立即数值。limmed32:32位立即数值。lsegReg:16位段寄存器。机器操作码汇编助记符和操作数00ADDreg8/mem8,reg801ADD

    2022年9月25日
    5
  • mssql QUOTENAME 的作用[通俗易懂]

    mssql QUOTENAME 的作用[通俗易懂]简单来说吧比如你有一个表,名字叫index你有一个动态查询,参数是表名declare@tbnamevarchar(256)set@tbname=’index’—查这个表里的数据:print(‘select*from’+@tbname)exec(‘select*from’+@tbname)–这样print出来的数据是select*…

    2022年7月25日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号