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的时候,报错了..

  • 相关阅读:
    android的布局xml文件如何添加注释?
    安卓xml布局中 android:paddingBottom="@dimen/activity_vertical_margin"是什么意思?
    Failure [INSTALL_FAILED_OLDER_SDK]
    安装并使用PICT,生成测试用例
    安装并使用Junit
    SourceMonitor的安装
    FindBugs
    pdm的说明
    Checkstyle的安装与使用
    白话决策树
  • 原文地址:https://www.cnblogs.com/_fyz/p/1886668.html
Copyright © 2011-2022 走看看