asp.net怎樣導出excel2007(asp.net excel導入數據庫)

      網友投稿 611 2025-04-03

      asp.net如何導出到excel2007?對于新手來說還是有一定難度,怎么辦?下面讓小編為你帶來asp.net導出excel2007的方法。

      在asp.net中導出Execl有兩種方法,一種是將導出的文件存放在服務器某個文件夾下面,然后將文件地址輸出在瀏覽器上;一種是將文件直接將文件輸出流寫給瀏覽器。在Response輸出時,t分隔的數據,導出execl時,等價于分列,n等價于換行。

      1、將整個html全部輸出execl

      此法將html中所有的內容,如按鈕,表格,圖片等全部輸出到Execl中。

      Response.Clear();

      Response.Buffer= true;

      Response.AppendHeader("Content-Disposition","attachment;filename="+DateTime.Now.ToString("yyyyMMdd")+".xls");

      Response.ContentEncoding=System.Text.Encoding.UTF8;

      Response.ContentType = "application/vnd.ms-excel";

      this.EnableViewState = false;

      這里我們利用了ContentType屬性,它默認的屬性為text/html,這時將輸出為超文本,即我們常見的網頁格式到客戶端,如果改為ms-excel將將輸出excel格式,也就是說以電子表格的格式輸出到客戶端,這時瀏覽器將提示你下載保存。ContentType的屬性還包括:image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword 。同理,我們也可以輸出(導出)圖片、word文檔等。下面的方法,也均用了這個屬性。

      2、將DataGrid控件中的數據導出Execl

      上述方法雖然實現了導出的功能,但同時把按鈕、分頁框等html中的所有輸出信息導了進去。而我們一般要導出的是數據,DataGrid控件上的數據。

      System.Web.UI.Control ctl=this.DataGrid1;

      //DataGrid1是你在窗體中拖放的控件

      HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");

      HttpContext.Current.Response.Charset ="UTF-8";

      HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;

      HttpContext.Current.Response.ContentType ="application/ms-excel";

      ctl.Page.EnableViewState =false;

      System.IO.StringWriter tw = new System.IO.StringWriter() ;

      System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);

      ctl.RenderControl(hw);

      HttpContext.Current.Response.Write(tw.ToString());

      HttpContext.Current.Response.End();

      如果你的DataGrid用了分頁,它導出的是當前頁的信息,也就是它導出的是DataGrid中顯示的信息。而不是你select語句的全部信息。

      為方便使用,寫成方法如下:

      public void DGToExcel(System.Web.UI.Control ctl)

      {

      HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");

      HttpContext.Current.Response.Charset ="UTF-8";

      HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;

      HttpContext.Current.Response.ContentType ="application/ms-excel";

      ctl.Page.EnableViewState =false;

      System.IO.StringWriter tw = new System.IO.StringWriter() ;

      System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);

      ctl.RenderControl(hw);

      HttpContext.Current.Response.Write(tw.ToString());

      HttpContext.Current.Response.End();

      }

      用法:DGToExcel(datagrid1);

      3、將DataSet中的數據導出Execl

      有了上邊的思路,就是將在導出的信息,輸出(Response)客戶端,這樣就可以導出了。那么把DataSet中的數據導出,也就是把DataSet中的表中的各行信息,以ms-excel的格式Response到http流,這樣就OK了。說明:參數ds應為填充有數據表的DataSet,文件名是全名,包括后綴名,如execl2006.xls

      public void CreateExcel(DataSet ds,string FileName)

      {

      HttpResponse resp;

      resp = Page.Response;

      resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

      resp.AppendHeader("Content-Disposition", "attachment;filename="+FileName);

      string colHeaders= "", ls_item="";

      //定義表對象與行對象,同時用DataSet對其值進行初始化

      DataTable dt=ds.Tables[0];

      DataRow[] myRow=dt.Select();//可以類似dt.Select("id>10")之形式達到數據篩選目的

      int i=0;

      int cl=dt.Columns.Count;

      //取得數據表各列標題,各標題之間以t分割,最后一個列標題后加回車符

      for(i=0;i

      {

      if(i==(cl-1))//最后一列,加n

      {

      colHeaders +=dt.Columns[i].Caption.ToString() +"n";

      }

      else

      {

      colHeaders+=dt.Columns[i].Caption.ToString()+"t";

      }

      }

      resp.Write(colHeaders);

      //向HTTP輸出流中寫入取得的數據信息

      //逐行處理數據

      foreach(DataRow row in myRow)

      {

      //當前行數據寫入HTTP輸出流,并且置空ls_item以便下行數據

      asp.net怎樣導出excel2007(asp.net excel導入數據庫)

      for(i=0;i

      {

      if(i==(cl-1))//最后一列,加n

      {

      ls_item +=row[i].ToString()+"n";

      }

      else

      {

      ls_item+=row[i].ToString()+"t";

      }

      }

      resp.Write(ls_item);

      ls_item="";

      }

      resp.End();

      }

      猜你感興趣:

      1.asp.net如何導出excel2007

      2.excel2003打開excel2007怎么辦

      3.怎么將ASP.NET導出Excel表格

      4.如何用C#導出Excel表格

      5.將asp圖片導出Excel的方法

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:wps office 2019表格怎么快速填充序列?
      下一篇:WPS文字怎么設置快速生成指定圖表(wps表格怎么做成圖表)
      相關文章
      不卡一卡二卡三亚洲| 亚洲国产精品国产自在在线| 亚洲欧洲∨国产一区二区三区| 精品久久久久久亚洲中文字幕| 亚洲AV无码专区国产乱码4SE| 亚洲日韩看片无码电影| 亚洲日本va在线观看| 亚洲欧洲日韩在线电影| 亚洲国产精品VA在线看黑人 | 亚洲高清国产拍精品熟女| 久久亚洲最大成人网4438| 中文字幕亚洲综合小综合在线| 亚洲制服丝袜中文字幕| 亚洲精品国产精品国自产网站| 亚洲综合色7777情网站777| 亚洲 欧洲 视频 伦小说| 亚洲日韩中文字幕无码一区| 亚洲色偷精品一区二区三区 | 亚洲人成网77777亚洲色| 国产aⅴ无码专区亚洲av| 亚洲成av人影院| 亚洲AV人人澡人人爽人人夜夜| 久久亚洲精品成人777大小说| 亚洲日韩图片专区第1页| 亚洲福利在线观看| 久久青青草原亚洲av无码app| 亚洲视频免费观看| 亚洲冬月枫中文字幕在线看| 国产精品亚洲综合五月天| 亚洲AV无码专区亚洲AV桃| 亚洲精品乱码久久久久久蜜桃| 亚洲一级片免费看| 亚洲va中文字幕无码久久| 亚洲精品不卡视频| 亚洲无吗在线视频| jizzjizz亚洲日本少妇| 久久精品国产精品亚洲| 亚洲成a人片77777kkkk| 亚洲成a人片在线观| 亚洲人成7777| 含羞草国产亚洲精品岁国产精品 |