NPOI导出Excel2007

NPOI导出Excel2007publicvoidExport_ProjectList(DataTabledt,HttpRequestBaseRequest)       {           stringstrModelFile=””;           strModelFile=Request.PhysicalApplicationPath+”ProjectList.xls”;

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

 public void Export_ProjectList(DataTable dt, HttpRequestBase Request)
        {

            string strModelFile = “”;
            strModelFile = Request.PhysicalApplicationPath + “ProjectList.xls”;//模板地址
            XSSFWorkbook workbook = null;
            FileStream file = new FileStream(strModelFile, FileMode.Open, FileAccess.Read);
            workbook = new XSSFWorkbook(file);//如果导出2003 则是HSSFWorkbook
            HSSFSheet sheet = (HSSFSheet)workbook.GetSheet(“ProjectList”);//可以是ISheet Sheet=null;
            if (sheet == null)
            {

                return;
            }
            ICellStyle cellStyle = workbook.CreateCellStyle();
            cellStyle.BorderBottom = BorderStyle.Thin;
            cellStyle.BorderLeft = BorderStyle.Thin;
            cellStyle.BorderRight = BorderStyle.Thin;
            cellStyle.BorderTop = BorderStyle.Thin;
            cellStyle.WrapText = true;
            cellStyle.Alignment = HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = VerticalAlignment.Center;

            //设置详细信息
            if (dt != null && dt.Rows.Count > 0)
            {

                IRow dataRowtitle = sheet.CreateRow(0);
                dataRowtitle.Height = 500;
                dataRowtitle.CreateCell(0).SetCellValue(“序号”);
                dataRowtitle.CreateCell(1).SetCellValue(“项目编号”);
                dataRowtitle.CreateCell(2).SetCellValue(“项目名称”);
                dataRowtitle.CreateCell(3).SetCellValue(“项目内容”);
                dataRowtitle.CreateCell(4).SetCellValue(“行政区”);
                dataRowtitle.CreateCell(5).SetCellValue(“所属分公司”);
                dataRowtitle.CreateCell(6).SetCellValue(“联系人”);
                dataRowtitle.CreateCell(7).SetCellValue(“联系人电话”);

                for (int i = 0; i < dt.Rows.Count; i++)
                {

                    IRow dataRow = sheet.CreateRow(i + 1);
                    dataRow.Height = 450;

                    for (int j = 0; j < 8; j++)
                    {

                        ICell iCell = dataRow.CreateCell(j);
                        iCell.CellStyle = cellStyle;
                        switch (j)
                        {

                            case 0:
                                iCell.SetCellValue(i + 1);//序号
                                break;
                            case 1:
                                iCell.SetCellValue(dt.Rows[i][“PROJECTCODE”] == null ? “” : String.Format(“{0:d}”, dt.Rows[i][“PROJECTCODE”]));//项目编号
                                break;
                            case 2:
                                iCell.SetCellValue(dt.Rows[i][“NAME”].ToString());//项目名称
                                break;
                            case 3:
                                iCell.SetCellValue(dt.Rows[i][“CONTENT”].ToString());//项目内容
                                break;
                            case 4:
                                iCell.SetCellValue(GetListName(GFun.SafeToInt32(dt.Rows[i][“DISTRICT”])));//行政区
                                break;
                            case 5:
                                iCell.SetCellValue(GetListName(GFun.SafeToInt32(dt.Rows[i][“BRANCH”])));//所属分公司
                                break;
                            case 6:
                                iCell.SetCellValue(dt.Rows[i][“CONTACTS”].ToString());//联系人
                                break;
                            case 7:
                                iCell.SetCellValue(dt.Rows[i][“PHONENUM”].ToString());//联系人电话
                                break;
                        }

                    }
                }
            }
            string fileName = string.Empty;
            //sheet.GetRow(0).GetCell(0).SetCellValue(“项目信息”);//标题
            SetExportFileName(fileName + “查询结果导出.xlsx”, workbook);
        }
        public static void SetExportFileName(string sFileName, XSSFWorkbook workbook)
        {

            System.Web.HttpContext.Current.Response.Charset = “GB2312”;
            System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
            sFileName = System.Web.HttpUtility.UrlEncode(sFileName, System.Text.Encoding.UTF8);
            // 添加头信息,为”文件下载/另存为”对话框指定默认文件名
            System.Web.HttpContext.Current.Response.AddHeader(“Content-Disposition”, “attachment; filename=” + sFileName);

            // 指定返回的是一个不能被客户端读取的流,必须被下载
            System.Web.HttpContext.Current.Response.ContentType = “application/ms-Excel”;

            // 把文件流发送到客户端
            workbook.Write(System.Web.HttpContext.Current.Response.OutputStream);
            // 停止页面的执行
            System.Web.HttpContext.Current.Response.End();
        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148598.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • phpstorm2021.5.1激活码[在线序列号]「建议收藏」

    phpstorm2021.5.1激活码[在线序列号],https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • python中pygame怎么安_Python中pygame安装方法图文详解

    python中pygame怎么安_Python中pygame安装方法图文详解本文实例讲述了Python中pygame安装方法。分享给大家供大家参考,具体如下:这里主要描述一下我们怎样来安装pygame可能很多人像我一样,发现了pygame是个好东东,但是就是不知道怎样使用,或者怎样安装,在百度/google上面搜索了一番后,发现没有一篇详细描述pygame的安装过程的文章。如果你是其中的一员,那么这篇教程可能会帮助到你。当然,在学习pygame的时候,需要你要有一定的py…

  • pycharm怎么配置tensorflow环境_pycharm环境搭建

    pycharm怎么配置tensorflow环境_pycharm环境搭建Pycharm安装并搭建Tensorflow开发环境下载并安装pycharm1.下载2.pycharm配置python环境安装tensorflow1.输入清华仓库镜像2.创建tensorflow环境3.启动tensorflow环境4.安装cpu版本的TensorFlow5.测试TensorFlowPycharm中配置TensorFlow环境在操作之前先安装好python环境,我是安装的Anaconda,Anaconda下载安装教程可参考:https://blog.csdn.net/Chen_Meng_

  • 三步就好,使用万用表来判断MOS管的好坏

    三步就好,使用万用表来判断MOS管的好坏判断MOS管的好坏的方法,对于购买了二手MOS管的情况,或者部分MOS管损坏的情况下,是比较有需要的。一些情况下,这种表面有烧毁痕迹的MOS管很容易判断为已损坏但另外一些情况下,只能通过万用表来判断MOS管,这里以N沟道MOS管来举例说明如何判断第一步使用二极管档位来测量MOS管,多数时候导通电压应该在4.5-5.5V之间,负极接D引脚,正极接S引脚如果导通电压过低或者接近0,那么说明已经损坏第二步测量D和S之间的电阻,如果不是.

  • 更改nginx默认端口_更改端口号

    更改nginx默认端口_更改端口号一、查看当前Nginx配置信息打开nginx根目录下conf文件夹,点击编辑nginx.conf文件。Tips:Windows系统用记事本打开会使utf-8文件头部加上BOM头,这会导致配置文件不能正常读取,Nginx启动失败。因此推荐使用SublimeText3之类的编辑器打开。 server{listen80;#默认端口号…

  • Scala跳出循环的三种方法

    Scala跳出循环的三种方法Scala跳出循环的三种方法1、基于boolean类型的控制变量while循环:varflag=truevarres=0varn=0while(flag){ res+=n n+=1 if(n==5){   flag=false }}for循环:(高级for循环,加上了if守卫)

发表回复

您的电子邮箱地址不会被公开。

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