亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

asp.net里導出excel表方法匯總

2019-11-17 04:28:39
字體:
來源:轉載
供稿:網友

1、由dataset生成

public void CreateExcel(DataSet ds,string typeid,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="";

   int i=0;

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

   DataTable dt=ds.Tables[0];

   DataRow[] myRow=dt.Select("");

   // typeid=="1"時導出為EXCEL格式文件;typeid=="2"時導出為xml格式文件

   if(typeid=="1")

    {

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

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

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

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

    resp.Write(colHeaders);

    //逐行處理數據 

    foreach(DataRow row in myRow)

     {

     //在當前行中,逐列獲得數據,數據之間以"t分割,結束時加回車符"n

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

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

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

     resp.Write(ls_item);

     ls_item="";

    }

   }

   else

    {

    if(typeid=="2")

     {

     //從DataSet中直接導出XML數據并且寫到HTTP輸出流中

     resp.Write(ds.GetXml());

    }   

   }

   //寫緩沖區中的數據到HTTP頭文件中

   resp.End();

  }

2、由datagrid生成

public void ToExcel(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";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msWord

   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();

  }

用法:ToExcel(datagrid1);


3、這個用dataview

public void OutputExcel(DataView dv,string str)

{

   //

   // TODO: 在此處添加構造函數邏輯

   //

                           //dv為要輸出到Excel的數據,str為標題名稱

   GC.Collect();

   Application excel;// = new Application();

   int rowIndex=4;

   int colIndex=1;

   _Workbook xBk;

   _Worksheet xSt;

   excel= new ApplicationClass();

 

   xBk = excel.Workbooks.Add(true);

  

   xSt = (_Worksheet)xBk.ActiveSheet;

   //

   //取得標題

   //

   foreach(DataColumn col in dv.Table.Columns)

    {

    colIndex++;

    excel.Cells[4,colIndex] = col.ColumnName;

    xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[4,colIndex]).HorizontalAlignment = XlVAlign.xlVAlignCenter;//設置標題格式為居中對齊

   }

   //

   //取得表格中的數據

   //

   foreach(DataRowView row in dv)

    {

    rowIndex ++;

    colIndex = 1;

    foreach(DataColumn col in dv.Table.Columns)

     {

     colIndex ++;

     if(col.DataType == System.Type.GetType("System.DateTime"))

      {

      excel.Cells[rowIndex,colIndex] = (Convert.ToDateTime(row[col.ColumnName].ToString())).ToString("yyyy-MM-dd");

      xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = XlVAlign.xlVAlignCenter;//設置日期型的字段格式為居中對齊

     }

     else

      if(col.DataType == System.Type.GetType("System.String"))

      {

      excel.Cells[rowIndex,colIndex] = "'"+row[col.ColumnName].ToString();

      xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = XlVAlign.xlVAlignCenter;//設置字符型的字段格式為居中對齊

     }

     else

      {

      excel.Cells[rowIndex,colIndex] = row[col.ColumnName].ToString();

     }

    }

   }

   //

   //加載一個合計行

   //

   int rowSum = rowIndex + 1;

   int colSum = 2;

   excel.Cells[rowSum,2] = "合計";

   xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,2]).HorizontalAlignment = XlHAlign.xlHAlignCenter;

   //

   //設置選中的部分的顏色

   //

   xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Select();

   xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Interior.ColorIndex = 19;//設置為淺黃色,共計有56種

   //

   //取得整個報表的標題

   //

   excel.Cells[2,2] = str;

   //

   //設置整個報表的標題格式

   //

   xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Bold = true;

   xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Size = 22;

   //

   //設置報表表格為最適應寬度

   //

   xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Select();

   xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Columns.AutoFit();

   //

   //設置整個報表的標題為跨列居中

   //

   xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).Select();

   xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).HorizontalAlignment = XlHAlign.xlHAlignCenterAcrossSelection;

   //

   //繪制邊框

   //

   xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Borders.LineStyle = 1;

   xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,2]).Borders[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlThick;//設置左邊線加粗

   xSt.get_Range(excel.Cells[4,2],excel.Cells[4,colIndex]).Borders[XlBordersIndex.xlEdgeTop].Weight = XlBorderWeight.xlThick;//設置上邊線加粗

   xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[rowSum,colIndex]).Borders[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlThick;//設置右邊線加粗

   xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,colIndex]).Borders[XlBordersIndex.xlEdgeBottom].Weight = XlBorderWeight.xlThick;//設置下邊線加粗

   //

   //顯示效果

   //

   excel.Visible=true;

   //xSt.Export(Server.MapPath(".")+""""+this.xlfile.Text+".xls",SheetExportActionEnum.ssExportActionNone,Microsoft.Office.Interop.OWC.SheetExportFormat.ssExportHTML);

   xBk.SaveCopyAs(Server.MapPath(".")+""""+this.xlfile.Text+".xls");

   ds = null;

            xBk.Close(false, null,null);

  

            excel.Quit();

            System.Runtime.InteropServices.Marshal.ReleaseComObject(xBk);

            System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);

    System.Runtime.InteropServices.Marshal.ReleaseComObject(xSt);

            xBk = null;

            excel = null;

   xSt = null;

            GC.Collect();

   string path = Server.MapPath(this.xlfile.Text+".xls");

   System.IO.FileInfo file = new System.IO.FileInfo(path);

   Response.Clear();

   Response.Charset="GB2312";

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

   // 添加頭信息,為"文件下載/另存為"對話框指定默認文件名

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

   // 添加頭信息,指定文件大小,讓瀏覽器能夠顯示下載進度

   Response.AddHeader("Content-Length", file.Length.ToString());

  

   // 指定返回的是一個不能被客戶端讀取的流,必須被下載

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

  

   // 把文件流發送到客戶端

   Response.WriteFile(file.FullName);

   // 停止頁面的執行

 

   Response.End();

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高清无遮挡| 91精品视频在线看| 色综合老司机第九色激情| 国产精品免费一区二区三区都可以| 91免费看片网站| 日韩av电影在线免费播放| 91精品国产成人www| 亚洲人成在线观看网站高清| 丰满岳妇乱一区二区三区| 欧美亚洲日本黄色| 亚洲欧洲一区二区三区在线观看| 国产精品美女www| 日韩精品999| 国产不卡av在线| 国产精品亚发布| 俺也去精品视频在线观看| 国产日韩中文字幕| 国产精品欧美一区二区| 国产亚洲欧美日韩精品| 国产日本欧美一区二区三区在线| 亚洲欧美日韩天堂一区二区| 日韩少妇与小伙激情| 国产精品欧美一区二区| 亚洲qvod图片区电影| 亚洲欧美制服第一页| 国产亚洲一区二区精品| 亚洲影院色在线观看免费| 国产精品白丝jk喷水视频一区| 欧美电影免费看| 欧美激情视频三区| 影音先锋欧美精品| 欧美日韩在线视频一区| 91精品91久久久久久| 91在线无精精品一区二区| 久久久久久欧美| 欧美另类交人妖| 国产成人av网址| 国产精品网站大全| 国产成人精品日本亚洲专区61| 国产精品jizz在线观看麻豆| 亚洲一区二区三区四区视频| 色偷偷偷亚洲综合网另类| 亚洲香蕉伊综合在人在线视看| 久久网福利资源网站| 日韩欧美在线字幕| 国产精品自拍视频| 国产精品视频地址| zzijzzij亚洲日本成熟少妇| 欧美最顶级的aⅴ艳星| 亚洲性生活视频| 精品人伦一区二区三区蜜桃网站| 亚洲国产日韩欧美在线99| 在线电影欧美日韩一区二区私密| 国产视频综合在线| 91日本在线观看| 日韩视频亚洲视频| 亚洲午夜av电影| 日本一区二区三区在线播放| 精品欧美一区二区三区| 在线成人激情视频| 日韩中文字幕在线播放| 日韩中文在线中文网三级| 北条麻妃一区二区在线观看| 日韩三级影视基地| 欧美成人午夜影院| 91社区国产高清| 欧美日韩在线一区| 国产自产女人91一区在线观看| 欧美精品在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲国产精品久久| 亚洲美女在线视频| 国产精品h片在线播放| www.欧美精品一二三区| 91精品久久久久久久久久久| 一本久久综合亚洲鲁鲁| 国产精品自拍小视频| 亚洲人成网站777色婷婷| 日韩中文字幕在线免费观看| 久久夜精品香蕉| 国产激情久久久久| 国产视频亚洲视频| 国产成人福利夜色影视| 久热精品在线视频| 91精品美女在线| 国产精品网站视频| 九九久久国产精品| 青草青草久热精品视频在线网站| 久久精品国产免费观看| 亚洲日韩中文字幕| 亚洲三级免费看| 日韩免费黄色av| 国产精品色午夜在线观看| 国产精品网址在线| 日韩av在线免播放器| 日韩av免费在线观看| 中文字幕av一区二区三区谷原希美| 日本久久久久久| 亚洲国产成人精品女人久久久| 久久国产一区二区三区| 欧美一级大片在线观看| 国产女同一区二区| 亚洲欧美日韩中文视频| 国产色婷婷国产综合在线理论片a| 日韩精品高清在线观看| 亚洲aa在线观看| 亚洲韩国青草视频| 国产精品激情av电影在线观看| 亚洲人在线视频| 深夜精品寂寞黄网站在线观看| 久久久综合av| 91禁国产网站| 欧美一区第一页| 亚洲天堂视频在线观看| 日韩av中文在线| 在线观看亚洲区| 91精品国产综合久久男男| 中文字幕免费国产精品| 欧美一级电影免费在线观看| 国产精品久久久久久久久久新婚| 久久久久日韩精品久久久男男| 色综合色综合久久综合频道88| 久久香蕉国产线看观看av| 精品国产91久久久久久老师| 久久精品99国产精品酒店日本| 国模精品视频一区二区三区| 尤物九九久久国产精品的特点| 中文字幕精品av| 伊人久久大香线蕉av一区二区| 亚洲最大福利网站| 国产精品久久久av久久久| 欧美成人精品h版在线观看| 日本最新高清不卡中文字幕| 欧美激情综合色综合啪啪五月| 精品香蕉一区二区三区| 中文字幕欧美亚洲| 久久影院模特热| 中文字幕亚洲在线| 欧美成人午夜免费视在线看片| 国产v综合ⅴ日韩v欧美大片| 综合国产在线观看| 欧美另类暴力丝袜| 欧美精品在线免费观看| 亚洲乱码国产乱码精品精| 深夜精品寂寞黄网站在线观看| 亚洲在线免费视频| 18久久久久久| 欧美亚洲免费电影| 91香蕉国产在线观看| 亚洲www永久成人夜色| 欧美激情亚洲国产| 黑人巨大精品欧美一区二区一视频| 欧美做受高潮1| 久久久免费精品| 成人免费观看49www在线观看| 国产91成人video| 久久午夜a级毛片| 欧美限制级电影在线观看| 久久久亚洲天堂| 一区三区二区视频| 国产91在线高潮白浆在线观看| 国产91精品久久久久久| 国产欧美韩国高清| 国产一区二区欧美日韩|