zoukankan      html  css  js  c++  java
  • 用npoi生成excel

    用npoi生成excel的文章已经有很多,我这就不多说了,今天主要的目的就是把我写的例子贴出来和大家分享

    如果有不明白的地方,可以联系我

    public static string ExportExcel(DataTable dtSource, string AppSettingPath,string Aid)
            {
                try
                {
                    string AdPath = string.Empty;
                    string FileName = string.Empty;
                    HSSFWorkbook workbook = new HSSFWorkbook();
                    HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet();
                    //填充表头
                    HSSFRow dataRow = (HSSFRow)sheet.CreateRow(0);
                    foreach (DataColumn column in dtSource.Columns)
                    {
                        dataRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName == "");
                    }
    
    
                    //填充内容
                    for (int i = 0; i < dtSource.Rows.Count; i++)
                    {
                        dataRow = (HSSFRow)sheet.CreateRow(i + 1);
                        for (int j = 0; j < dtSource.Columns.Count; j++)
                        {
                            dataRow.CreateCell(j).SetCellValue(dtSource.Rows[i][j].ToString());
                        }
                    }
    
    
                    //保存
                    using (MemoryStream ms = new MemoryStream())
                    {
                        // FileName=DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".xls";
                        FileName = Aid + ".xls";
                        AdPath = System.Web.HttpContext.Current.Server.MapPath(AppSettingPath) + FileName;
                        using (FileStream fs = new FileStream(AdPath, FileMode.Create, FileAccess.Write))
                        {
                            workbook.Write(fs);
                        }
                    }
                    workbook.Dispose();
                    if (FileName != string.Empty)
                    { return CmsUrl + AppSettingPath + FileName; }
                    else { return string.Empty; }
                }
                catch(Exception ex)
                {
                    throw new Exception(ex.Message,ex);
                }
            }
    
    这边 HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet(); 有用到个类型转换,如果不强制转换,会报错,网上的很多demo就是因为没有转换,所有在run的时候,报错了..

  • 相关阅读:
    在web大作业中曾经遇到的程序测试案例…
    软件测试技术 hw3
    软件测试技术 hw2
    软件测试技术 上机实验1
    软件项目管理 hw1
    软件测试技术 hw1
    软件测试技术-第七题
    软件测试技术 上机实验1
    软件测试技术 homework2
    软件项目管理 homework1 曾经做过的project
  • 原文地址:https://www.cnblogs.com/_fyz/p/1886668.html
Copyright © 2011-2022 走看看