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


相关推荐

  • arduino连接lcd1602使用方法软件_arduino 6色液晶

    arduino连接lcd1602使用方法软件_arduino 6色液晶接线图[captionid=”attachment_1183″align=”alignnone”width=”1108″]LCD1602A接线图(4位)[/caption]4位接线法[codesyntaxlang=”cpp”]/***VSS…

    2022年9月23日
  • Oracle 创建表空间

    Oracle 创建表空间–删除表空间droptablespacenacosincludingcontentsanddatafiles—-创建表空间并定义路径createtablespacenacos–表空间名datafile’D:/app/Administrator/oradata/nacos/nacos.dbf’size500m–大小初始值autoextendon–自动扩展next50mmaxsize20480m–每次扩展50m,最大为20480mex…

    2022年7月11日
  • pycharm linux安装[通俗易懂]

    pycharm linux安装[通俗易懂]

    2022年11月2日
  • 国内最好的破解软件下载站

    国内最好的破解软件下载站MSDNhttps://msdn.itellyou.cn/吾爱破解:https://www.52pojie.cn/爱学府软件园:https://www.52pojie.cn/Z2ER:https://www.z2er.com0DayDownhttp://www.0daydown.com/奥学网https://6so.so/果核剥壳http://www.ghboke.com/…

    2022年6月12日
  • Vue和Springboot实现SM4加密和解密(前端可加密,后端可加解密,MD5同理)

    Vue和Springboot实现SM4加密和解密(前端可加密,后端可加解密,MD5同理)Vue和Springboot实现SM4加密和解密(前端可加密,后端可加解密,MD5同理)前言一、前端加密输入的密码前置检测粘贴我的SM4.js代码在组件中调用加密结果二、Springboot后端进行SM4的解密和加密引入库复制我的SM4加解密代码调用方法总结前言网站配置https比较麻烦,所以为了我们的用户账户安全,密码在从前端传输到后端的过程中,最好加密一下,选用SM4有两个原因,一是国产加密算法,二是这个国密算法是对称的,只要加密和解密的key和vi相同,可以很容易的

    2022年9月26日
  • 常用降压电路设计「建议收藏」

    常用降压电路设计「建议收藏」一、5V转3.3V电路设计1.AMS1117-3V3AMS1117-xxx是一颗LDO芯片,这个系列有很多型号,后面的xxx代表输出电压,如果是AMS1117-ADJ表明输出是通过电阻调节的。实物图展示:常见封装:电路图:AMS1117-3.3最大输出可达1A,但是其压差较大,一般在1.1V左右,所以功耗和发热量也会随着电流的增大而急剧增大,对于大电流负载,不推荐使用LDO电路,使用DCDC电路效果更佳。2.ME6211C33ME6211C33是一颗低功耗低压差LDO芯片,其工作

    2022年6月20日

发表回复

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

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