• 一个导出Excel的类


    需要引入

    using NPOI.HSSF.UserModel;

     public class ExcelHelper
        {
            /// <summary>
            /// 
            /// </summary>
            /// <param name="dt">需要导出的DataTable</param>
            /// <param name="ColName">导出的表格列名</param>
            /// <param name="Filename">导出的表格文件名称_默认当前日期不带时间_注:文件名不能有:号</param>
            /// <param name="Sheetname">导出的Sheet名</param>
            /// <returns>成功返回_异常返回-1</returns>
            public int OutPutExcelByDataTable(DataTable dt, List<string> ColName, string Filename = "", string Sheetname = "")
            {
                try
                {
                    HSSFWorkbook workbook = new HSSFWorkbook();
                    string sheetname = Sheetname != "" ? Sheetname : dt.TableName;
                    NPOI.SS.UserModel.ISheet sheet = workbook.CreateSheet(sheetname);
                    NPOI.SS.UserModel.IRow r0 = sheet.CreateRow(0);
                    for (int i = 0; i < dt.Columns.Count; i++)
                    {
                        if (ColName.Count > i)
                        {
                            r0.CreateCell(i).SetCellValue(ColName[i]);
                        }
                        else
                        {
                            r0.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
                        }
                    }
                    int k = 1;
                    foreach (DataRow row in dt.Rows)
                    {
                        NPOI.SS.UserModel.IRow Row = sheet.CreateRow(k);
                        for (int j = 0; j < dt.Columns.Count; j++)
                        {
                            Row.CreateCell(j).SetCellValue(row[j].ToString());
                        }
                        k++;
                    }
                    dt = null;
                    using (MemoryStream ms = new MemoryStream())
                    {
                        workbook.Write(ms);
                        string filename = Filename != "" ? Filename : DateTime.Now.Date.ToShortDateString();
                        HttpContext.Current.Response.ContentType = "application/x-excel";
                        HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename + ".xls");
                        HttpContext.Current.Response.BinaryWrite(ms.ToArray());
                        HttpContext.Current.Response.End();
                        return 0;
                    }
                }
                catch
                { return -1; }
    
            }
        }
  • 相关阅读:
    新工作 Day24 周六
    新工作 Day23 周五
    新工作 Day22 周四
    新工作 Day21 周三
    新工作 Day20 周二
    新工作 Day19 周一
    新工作 Day18 周日
    新工作 Day17 周六
    java线程池 多线程搜索文件包含关键字所在的文件路径
    java实现搜索文件夹中所有文件包含的关键字的文件路径(递归搜索)
  • 原文地址:https://www.cnblogs.com/gouyanfeng/p/3210162.html
Copyright © 2020-2023  润新知