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();
        }

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

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

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


相关推荐

  • vue富文本编辑器tinymce_vue移动端富文本编辑器

    vue富文本编辑器tinymce_vue移动端富文本编辑器vue富文本编辑器Vue-Quill-Editor

    2022年10月14日
    2
  • 网站管理后台帐号密码暴力激活成功教程方法

    网站管理后台帐号密码暴力激活成功教程方法【导读】对于网站运行的个人站长而言,最担心的是应如何有效且安全的去管理自己的网站,否则自己辛辛苦苦经营的网站就会被不请自来的不速之客给攻破,轻则站点数据被窃取,重则整个网站都被攻陷,导致无法恢复。本文主要从管理后台这个方面来讲解其黑客攻击过程,并通过在虚拟环境中展开实例演示,各读者可以跟着本教程去做实验,通过实验加强对攻击过程的了解,如果你是一名菜鸟站长也可以针对性的去做一下防护方案。…

    2022年10月13日
    2
  • 【软件工程师之路一】咸鱼翻身之自学软件开发[通俗易懂]

    【软件工程师之路一】咸鱼翻身之自学软件开发[通俗易懂]给大家推荐一个网站,主要是给在校学生提供资料和交流的平台,也希望社会人士能进来给与一些经验和建议,把这个网站维持下去。阳光沙滩 http://bbs.sunofbeaches.com/?fromuid=9791“做人如果没有梦想,跟咸鱼有什么分别?”我们的梦想就是如何从零基础去学习软件开发,最后达到我们心目中的高度,首先我按自己的理解大致将各个阶段进行划分,每个公司

    2022年5月6日
    45
  • php 监听端口数据客户端ip_PHP获取客户端和服务器端IP[通俗易懂]

    客户端的ip变量:$_SERVER[‘REMOTE_ADDR’]:客户端IP,也有可能是代理IP$_SERVER[‘HTTP_CLIENT_IP’]:代理端的IP,可能存在,也可能伪造$_SERVER[‘HTTP_X_FORWARD_FOR’]:用户在哪个ip上使用的id,可能存在,也可能伪造服务端的ip变量:$_SERVER[‘SERVER_NAME’]:需要使用函数gethostname…

    2022年4月17日
    53
  • 五种常用的MySQL图形化管理工具

    五种常用的MySQL图形化管理工具MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍几个经常使用的MySQL图形化管理工具,供大家参考。MySQL是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了

    2022年6月15日
    33
  • 什么都能播放的媒体播放器——Potplayer

    什么都能播放的媒体播放器——Potplayer“它体积小巧、界面简洁、解码功能强大、它是视屏播放器的不二之选!”——来自一个朋友“PotPlayerisbyfarthebestvideoplayerIhaveusedyet.Thefactthatit’sfreeisicingonthecake.”——来自另一个朋友没错,它就是本期要介绍的主角Potplayer。

    2022年7月12日
    32

发表回复

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

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