首页 > 其他分享 >.net中的Webform使用NPOI导出excel

.net中的Webform使用NPOI导出excel

时间:2023-03-03 12:22:12浏览次数:43  
标签:headerRow sheet rowsNum HSSFCell excel NPOI CreateCell Webform Response

.net中的Webform使用NPOI导出excel

private void ExprotExcelGuanXiaYan(DataSet ds, ZF.Model.UserInfo uModel)
        {
            try
            {
                //行号
                int rowsNum = 1;
                //页码
                int sheetnum = 2;

                DataTable dtable = ds.Tables[0];
                if (dtable != null)
                {
                    Response.ContentType = "application/vnd.ms-excel";
                    string fileName = HttpUtility.UrlEncode("AA商户身份证号" + DateTime.Now.ToString("yyyyMMdd") + ".xls");
                    //添加http协议报文;
                    Response.AddHeader("Content-Disposition", "attachment; fileName=" + fileName);

                    //创建一个xls;
                    HSSFWorkbook workbook = new HSSFWorkbook();
                    //创建一个Sheet页  
                    HSSFSheet sheet = workbook.CreateSheet("身份证号1") as HSSFSheet;

                    HSSFRow headerRow = sheet.CreateRow(0) as HSSFRow;
                    sheet.SetColumnWidth(0, 5500);
                    sheet.SetColumnWidth(1, 18000);

                    //创建列头
                    HSSFCell cell0 = headerRow.CreateCell(0) as HSSFCell;
                    cell0.SetCellValue("商户号");
                    HSSFCell cell1 = headerRow.CreateCell(1) as HSSFCell;
                    cell1.SetCellValue("身份证号");

                    foreach (DataRow dr in dtable.Rows)
                    {
                        //每页的行数
                        //if (rowsNum % 60 == 1 && rowsNum != 1)
                        if (rowsNum % 50000 == 1 && rowsNum != 1)
                        {
                            //超过页的指定行数时,创建一个新的Sheet页
                            sheet = workbook.CreateSheet("身份证号" + sheetnum) as HSSFSheet;

                            headerRow = sheet.CreateRow(0) as HSSFRow;
                            sheet.SetColumnWidth(0, 5500);
                            sheet.SetColumnWidth(1, 18000);

                            cell0 = headerRow.CreateCell(0) as HSSFCell;
                            cell0.SetCellValue("商户号");
                            cell1 = headerRow.CreateCell(1) as HSSFCell;
                            cell1.SetCellValue("身份证号");

                            rowsNum = 1;
                            sheetnum++;
                        }
                        //根据字段名找出ID
                        string MERCODE = dr["MERCODE"].ToString();
                        string LEGALIDCARD = dr["LEGALIDCARD"].ToString();

                        ShaHelper sh = new ShaHelper();
                        string LEGALIDCARDStr = sh.SHA256Encrypt(LEGALIDCARD);

                        /******************以上代码对应数据库表中的字段*********************/
                        HSSFRow row = sheet.CreateRow(rowsNum) as HSSFRow;
                        row.CreateCell(0, CellType.STRING).SetCellValue(MERCODE);
                        row.CreateCell(1, CellType.STRING).SetCellValue(LEGALIDCARDStr);
                        /******************以上代码对应Excel文件的列************************/
                        rowsNum++;
                    }
                    //输出到流中
                    workbook.Write(Response.OutputStream);
                }
            }
            catch (Exception e)
            {
                LogsManager.Info("AA商户身份证号导出异常" + e.Message + e.Source + e.StackTrace);
            }
            finally
            {
                if (null != Response.OutputStream)
                {
                    Response.OutputStream.Dispose();
                    Response.OutputStream.Close();
                }
            }
        }

 

翻译

搜索

复制

标签:headerRow,sheet,rowsNum,HSSFCell,excel,NPOI,CreateCell,Webform,Response
From: https://www.cnblogs.com/jankie1122/p/17175142.html

相关文章

  • Excel 数据转二维数组 JSON
    问题描述:偶尔会遇到读取Excel数据的场景如果是在网页中,可以上传文件然后处理(可借助js-xlsx等插件)如果有node服务,也可以使用类似的操作不过如果是在应用外,只是临......
  • NPOI导入导出Excel文件
    导出Excel文件//nget下载NPOI//////导出商品信息//////[HttpGet]publicIActionResultdaochu(){//读取要导出的数据varlist=_db.GoodsAllData();......
  • Excel - 设置单元格下拉选项
    打开Excel,选中对应的列,选择Data(数据),并点击DataValidation(数据验证)按钮   在弹出框中,Allow:选择List,并在Source:中录入选项值(以英文逗号分隔) ......
  • miniExcel导入导出
    miniExcel的配置使用具体可查看官网:https://gitee.com/dotnetchina/MiniExcel?_from=gitee_search#todo第一步:Neget下载MiniExcel上传//////上传Excel//////......
  • Groovy 使用EasyExcel操作Excel
    示例一:读取Excel,打印拼接的Sqlimportcom.alibaba.excel.EasyExcelclassObj{Integernum;Stringname;}defreaderBuilder=EasyExcel.read(newFile(......
  • Java操作Excel之EasyExcel、标题、背景色设置
    首先不管是学习或者是了解什么技术都要先去看下官方文档https://alibaba-easyexcel.github.io/index.html原文地址 https://www.cnblogs.com/zhangsan-plus/p/16503278.h......
  • 利用python将MySQL数据导出到excel中
    涉及到的相关库:   pymysql、   xlwt库函数(将MySQL一个数据表导出到excel文件的一个表)文件exportexcel.py内容:defexport_to_excel(worksheet,cursor......
  • 盘点5个C#实用的Word、PPT、Excel、Mail第三方库
    盘点5个C#实用的Word、PPT、Excel、Mail第三方库Dotnet工控C#编程,全网同名欢迎围观交流​关注 2人赞同了该文章今天一起盘点下之前分享的有关W......
  • Excel导入、导出库:ExcelKit
    Excel导入、导出库:ExcelKit仓库地址:https://github.com/AdvanceOpen/ExcelKit.SampleExcelKitExcel导入导出套件,支持百万级(几百万亦可)数据导出和读取(由于Excel原因,此......
  • excel使用笔记
    excel在办公中必不可少,熟练使用对工作帮助很大。文章目录​​打开多个excel文档慢​​​​选择​​​​选择整个范围​​​​选取有数据的整个范围​​​​选中到底部​​​......