源代码
private void ExportToExcel(DataSet ds,string fileName) 
        {
            ExportExcel1 excel = null;  
            excel = new ExportExcel1();
                excel.RowStart();
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    excel.CellWithoutFormula("String", col.ColumnName);
                }
                excel.RowEnd();
                int excelRows = 1;
                int excelColumns = ds.Tables[0].Columns.Count;
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    excel.RowStart();                    for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
                    {
                        if (ds.Tables[0].Rows[i][j].ToString().Length == 0)
                        {
                            excel.CellWithoutFormula("String", ds.Tables[0].Rows[i][j].ToString());
                        }
                        else
                        {
                            if (ds.Tables[0].Columns[j].DataType.ToString() == "System.DateTime")
                            {
                                excel.CellWithoutFormula("String", Convert.ToDateTime(ds.Tables[0].Rows[i][j]).ToString("yyyy-MM-dd"));
                            }
                            else
                            {
                                if (ds.Tables[0].Columns[j].DataType.ToString() == "System.Decimal" || ds.Tables[0].Columns[j].DataType.ToString() == "System.Int32")
                                {
                                    excel.CellWithoutFormula("Number", ds.Tables[0].Rows[i][j].ToString());
                                }
                                else
                                {
                                    excel.CellWithoutFormula("String", ds.Tables[0].Rows[i][j].ToString());
                                }
                            }
                        }
                    }
                    excel.RowEnd();
                    excelRows++;
                }                string OutExcel = excel.CreateExcelWithMode(excelRows, excelColumns, fileName);
                string SaveFile = fileName + ".xls";
                
                Response.Clear();
                Response.Buffer = true;
                Response.Charset = "utf-8";
                this.EnableViewState = true;
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
                Response.ContentType = "application/ms-excel";
                Response.AppendHeader("Content-Disposition", "attachment;fileName=" + SaveFile);
                Response.Write(OutExcel);
                Response.Flush();
                Response.Close();
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            
        }

解决方案 »

  1.   

    http://blog.csdn.net/bkq421511585/article/details/7319774看看
      

  2.   

    你没有装office吧,这种你要学会自己调试代码,看看哪个对象为空,
      

  3.   

    单步调试下,未将对象设置到对象的实例,一般错误就是值为null,你看下dataset里的内容
      

  4.   

     这是报错的地方   就是dataset报错  一导出就报错