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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Matlab fmincon[通俗易懂]

    Matlab fmincon[通俗易懂]fmincon的官方文档fmincon非线性优化

    2022年6月14日
    24
  • STM32 + UCOSII 操作系统(简单讲解)「建议收藏」

    STM32 + UCOSII 操作系统(简单讲解)「建议收藏」前言这是我将UCOSII操作系统移植在STM32单片机上后进行UCOSII操作系统学习的一些笔记与理解,此文最后会附上我自己在UCOSII操作系统下使用STM32写的ESP8266+onenet+http协议的程序链接,可以作为参考,如果文中有不当的地方,还请各位大佬加以中指正,我一定会虚心求教。参考资料:正点原子RTOS操作系统讲解,参考的文章:(53条消息)STM32学习笔记一一UCOSII(1)_霁风AI-CSDN博客_ucosii1.UCOSII操作系统的简介前台后台系统相信大家都

    2022年6月4日
    35
  • java 自动补全_eclipse自动补全的设置[通俗易懂]

    java 自动补全_eclipse自动补全的设置[通俗易懂]如果你用过VisualStudio的自动补全功能后,再来用eclipse的自动补全功能,相信大家会有些许失望。但是eclipse其实是非常强大的,eclipse的自动补全没有VS那么好是因为eclipse的补全功能用的是默认设置。你只需要稍微修改一下就行了。最简单的修改方式是:Windows——>Preferences——>Java–>Editor–>Content…

    2022年10月8日
    1
  • 【数据库】Mysql 常用命令

    【数据库】Mysql 常用命令【数据库】Mysql 常用命令

    2022年4月22日
    44
  • JMH 测试「建议收藏」

    JMH 测试「建议收藏」JHM测试框架

    2022年7月11日
    26
  • 虚拟机怎么退出vi编辑模式_手机系统占用30个g正常吗

    虚拟机怎么退出vi编辑模式_手机系统占用30个g正常吗ESC键->冒号->小写q->(可选:不保存退出加个惊叹号!)->(可选:如文件需保存加个小写w)  当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。   (1)在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出,返回到shel

    2022年9月30日
    1

发表回复

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

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