將數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)入Excel兩個(gè)方法
2010/11/18 14:29:26

  
  方法一:該方法實(shí)現(xiàn)的是將數(shù)據(jù)從DataGrid中導(dǎo)入到Excel中:

  //filename為Excel的名字,ToExcelGrid就是數(shù)據(jù)源,在此為DataGrid數(shù)據(jù)源;

  private void ExportExcelFromDataGrid( string filename , System.Web.UI.WebControls.DataGrid ToExcelGrid )

  ...{

  Response.Clear();

  Response.Buffer=  true;

  Response.Charset="utf-8";

  Response.AppendHeader("Content-Disposition","attachment;filename="+Server.UrlEncode ( filename ) );

  Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");//設(shè)置輸出流為簡(jiǎn)體中文

  Response.ContentType  =  "application/ms-excel";//設(shè)置輸出文件類型為excel文件。

  this.EnableViewState  =  false;

  System.Globalization.CultureInfo  myCItrad  =  new  System.Globalization.CultureInfo("ZH-CN",true);

  System.IO.StringWriter  oStringWriter  =  new  System.IO.StringWriter(myCItrad);

  System.Web.UI.HtmlTextWriter  oHtmlTextWriter  =  new  System.Web.UI.HtmlTextWriter(oStringWriter);

  ToExcelGrid.RenderControl(oHtmlTextWriter);

  Response.Write(oStringWriter.ToString());

  Response.End();

  用該方法的時(shí)候,需要注意將DataGrid數(shù)據(jù)源中的允許翻頁(yè),允許排 序設(shè)置成"false",同時(shí)一些特殊行進(jìn)行需要將其設(shè)置成不可視,如編輯行等,若不這樣的話,用該方法實(shí)現(xiàn)的數(shù)據(jù)導(dǎo)入到Excel,會(huì)出現(xiàn)異常“需要將 XXX放入到一個(gè)具有runat=server的form窗體中”,我具體忘了XXX代表的意思,你可以在實(shí)踐中嘗試一下,就可以知道出現(xiàn)的錯(cuò)誤。

  方法二:從最基本的寫文件入手,將從數(shù)據(jù)庫(kù)中讀出來的數(shù)據(jù)寫入到Excel中;

  //該方法實(shí)現(xiàn)將數(shù)據(jù)導(dǎo)入到Excel文件中,其中的DataTable dt就是你需要將數(shù)據(jù)寫入到Excel中的數(shù)據(jù);

  public void ExportExcel( DataTable dt , StreamWriter w )

  ...{

  try

  ...{

  for( int i = 0 ; i < dt.Columns.Count ; i ++ )

  ...{

  w.Write ( dt.Columns[i] );

  w.Write( ' ' );

  }

  w.Write ( " " );

  object[] values = new object [dt.Columns.Count];

  foreach ( DataRow dr in dt.Rows )

  ...{

  values = dr.ItemArray ;

  for ( int i = 0 ; i < dt.Columns.Count ; i++ )

  ...{

  w.Write ( values[i] );

  w.Write ( ' ' );

  }

  w.Write ( " " );

  }

  w.Flush();

  w.Close();

  }

  catch

  ...{

  w.Close();

  }

  StreamWriter w就是你自己創(chuàng)建的一個(gè)流,創(chuàng)建該數(shù)據(jù)流時(shí),你需要自己指定需要將數(shù)據(jù)寫入到那個(gè)文件,即指定文件路徑,要實(shí)現(xiàn)下載的話,就可以簡(jiǎn)單的用Response.Redirect ( "指定需要被下載的文件路徑" );

返回列表
返回首頁(yè) 主站蜘蛛池模板: 在线观看国产精品va| 曰批全过程免费视频免费看| 同性女女黄h片在线播放| 国产亚洲成归v人片在线观看| 在公车上被一个接一个| 一区二区三区视频网站| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 色国产精品一区在线观看| 国产最新精品视频| 4hu四虎永久地址| 夜来香电影完整版免费观看| 下载一个黄色录像| 无码高潮少妇毛多水多水免费| 久草资源福利站| 欧美亚洲国产激情一区二区| 亚洲熟妇AV一区二区三区漫画 | 三级理论中文字幕在线播放| 日本三级黄色片网站| 久久综合九色综合欧美就去吻| 欧美人禽杂交狂配动态图| 亚洲精品免费在线视频| 男女啪啪高清无遮挡免费| 午夜第九达达兔鲁鲁| 色偷偷狠狠色综合网| 国产伦精品一区二区三区无广告 | 国产精品黄页网站在线播放免费| gay同性男男自免费播放| 尤果圈3.2.6破解版| 中文字幕久精品免费视频| 日本中文字幕一区二区有码在线 | 波多野たの结衣老人绝伦| 伊人久久影院大香线蕉| 精品午夜福利在线观看| 台湾swag视频在线观看 | 天堂а在线中文在线新版| 一二三四区产品乱码芒果免费版| 成人午夜看片在线观看| 中文字幕免费视频| 无码人妻精品一区二区在线视频 | 中文字幕亚洲色图| 无码人妻精品一区二区三区不卡|