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

首頁 > 編程 > C# > 正文

C#導出數據到Excel文件的方法

2020-01-24 01:55:29
字體:
來源:轉載
供稿:網友

本文實例講述了C#導出數據到Excel文件的方法。分享給大家供大家參考。具體實現方法如下:

/// <summary>/// 導出到Excel類,項目需引用Microsodt.Office.Interop.Excel,/// 類文件需using System.Data與System.Windows.Forms命名空間/// </summary>public class CToExcel{  /// <summary>  /// 導出到Excel  /// </summary>  /// <param name="fileName">默認文件名</param>  /// <param name="listView">數據源,一個頁面上的ListView控件</param>  /// <param name="titleRowCount">標題占據的行數,為0表示無標題</param>  public void ExportExcel(string fileName, System.Windows.Forms.ListView listView,int titleRowCount)  {   string saveFileName = "";   //bool fileSaved = false;   SaveFileDialog saveDialog = new SaveFileDialog();   saveDialog.DefaultExt = "xls";   saveDialog.Filter = "Excel文件|*.xls";   saveDialog.FileName = fileName;   saveDialog.ShowDialog();   saveFileName = saveDialog.FileName;   if (saveFileName.IndexOf(":") < 0) return; //被點了取消    Microsoft.Office.Interop.Excel.Application xlApp;   try   {    xlApp = new Microsoft.Office.Interop.Excel.Application();   }   catch (Exception)   {    MessageBox.Show("無法創建Excel對象,可能您的機子未安裝Excel");    return;   }   finally   {   }   Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;   Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);   Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1   //寫Title   if(titleRowCount!=0)    MergeCells(worksheet, 1, 1, titleRowCount, listView.Columns.Count, listView.Tag.ToString());   //寫入列標題   for (int i = 0; i <= listView.Columns.Count - 1; i++)   {    worksheet.Cells[titleRowCount+1, i + 1] = listView.Columns[i].Text;   }   //寫入數值   for (int r = 0; r <= listView.Items.Count - 1; r++)   {    for (int i = 0; i <= listView.Columns.Count - 1; i++)    {     worksheet.Cells[r + titleRowCount+2, i + 1] = listView.Items[r].SubItems[i].Text;    }    System.Windows.Forms.Application.DoEvents();   }   worksheet.Columns.EntireColumn.AutoFit();//列寬自適應   //if (Microsoft.Office.Interop.cmbxType.Text != "Notification")   //{   // Excel.Range rg = worksheet.get_Range(worksheet.Cells[2, 2], worksheet.Cells[ds.Tables[0].Rows.Count + 1, 2]);   // rg.NumberFormat = "00000000";   //}   if (saveFileName != "")   {    try    {     workbook.Saved = true;     workbook.SaveCopyAs(saveFileName);     //fileSaved = true;    }    catch (Exception ex)    {     //fileSaved = false;     MessageBox.Show("導出文件時出錯,文件可能正被打開!n" + ex.Message);    }   }   //else   //{   // fileSaved = false;   //}   xlApp.Quit();   GC.Collect();//強行銷毀    // if (fileSaved && System.IO.File.Exists(saveFileName)) System.Diagnostics.Process.Start(saveFileName); //打開EXCEL   MessageBox.Show(fileName + "導出到Excel成功", "提示", MessageBoxButtons.OK);  }  /// <summary>  /// DataTable導出到Excel  /// </summary>  /// <param name="fileName">默認的文件名</param>  /// <param name="dataTable">數據源,一個DataTable數據表</param>  /// <param name="titleRowCount">標題占據的行數,為0則表示無標題</param>  public void ExportExcel(string fileName,System.Data.DataTable dataTable,int titleRowCount)  {   string saveFileName = "";   //bool fileSaved = false;   SaveFileDialog saveDialog = new SaveFileDialog();   saveDialog.DefaultExt = "xls";   saveDialog.Filter = "Excel文件|*.xls";   saveDialog.FileName = fileName;   saveDialog.ShowDialog();   saveFileName = saveDialog.FileName;   if (saveFileName.IndexOf(":") < 0) return; //被點了取消    Microsoft.Office.Interop.Excel.Application xlApp;   try   {    xlApp = new Microsoft.Office.Interop.Excel.Application();   }   catch (Exception)   {    MessageBox.Show("無法創建Excel對象,可能您的機子未安裝Excel");    return;   }   finally   {   }   Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;   Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);   Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1   //寫Title   if(titleRowCount!=0)    MergeCells(worksheet, 1, 1, titleRowCount, dataTable.Columns.Count, dataTable.TableName);   //寫入列標題   for (int i = 0; i <= dataTable.Columns.Count - 1; i++)   {    worksheet.Cells[titleRowCount+1, i + 1] = dataTable.Columns[i].ColumnName;   }   //寫入數值   for (int r = 0; r <= dataTable.Rows.Count - 1; r++)   {    for (int i = 0; i <= dataTable.Columns.Count - 1; i++)    {     worksheet.Cells[r +titleRowCount+ 2, i + 1] = dataTable.Rows[r][i].ToString();    }    System.Windows.Forms.Application.DoEvents();   }   worksheet.Columns.EntireColumn.AutoFit();//列寬自適應   //if (Microsoft.Office.Interop.cmbxType.Text != "Notification")   //{   // Excel.Range rg = worksheet.get_Range(worksheet.Cells[2, 2], worksheet.Cells[ds.Tables[0].Rows.Count + 1, 2]);   // rg.NumberFormat = "00000000";   //}   if (saveFileName != "")   {    try    {     workbook.Saved = true;     workbook.SaveCopyAs(saveFileName);     //fileSaved = true;    }    catch (Exception ex)    {     //fileSaved = false;     MessageBox.Show("導出文件時出錯,文件可能正被打開!n" + ex.Message);    }   }   //else   //{   // fileSaved = false;   //}   xlApp.Quit();   GC.Collect();//強行銷毀    // if (fileSaved && System.IO.File.Exists(saveFileName)) System.Diagnostics.Process.Start(saveFileName); //打開EXCEL   MessageBox.Show(fileName + "導出到Excel成功", "提示", MessageBoxButtons.OK);  }  /// <summary>   /// 合并單元格,并賦值,對指定WorkSheet操作   /// </summary>   /// <param name="sheetIndex">WorkSheet索引</param>   /// <param name="beginRowIndex">開始行索引</param>   /// <param name="beginColumnIndex">開始列索引</param>   /// <param name="endRowIndex">結束行索引</param>   /// <param name="endColumnIndex">結束列索引</param>   /// <param name="text">合并后Range的值</param>   public void MergeCells(Microsoft.Office.Interop.Excel.Worksheet workSheet, int beginRowIndex, int beginColumnIndex, int endRowIndex, int endColumnIndex, string text)  {   Microsoft.Office.Interop.Excel.Range range = workSheet.get_Range(workSheet.Cells[beginRowIndex, beginColumnIndex], workSheet.Cells[endRowIndex, endColumnIndex]);   range.ClearContents(); //先把Range內容清除,合并才不會出錯    range.MergeCells = true;   range.Value2 = text;   range.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;   range.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;  } }

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久伊人欧美| 国产精品99久久久久久久久| 91极品女神在线| 国产成人精品午夜| 久久久久久久久久久亚洲| 欧美精品在线视频观看| 欧美日韩免费看| 日韩在线观看你懂的| 国产精品在线看| 亚洲欧洲偷拍精品| 亚洲情综合五月天| 日韩电影视频免费| 亚洲免费精彩视频| 91精品国产色综合| 亚洲人成网站999久久久综合| 91高清视频免费观看| 国产亚洲精品美女久久久久| 久久亚洲精品国产亚洲老地址| 日韩69视频在线观看| 久久久久亚洲精品成人网小说| 7m第一福利500精品视频| 91精品久久久久久久久| 97视频com| 欧美激情一区二区久久久| 国产偷亚洲偷欧美偷精品| 欧美日韩一区二区在线| 成人一区二区电影| 91视频免费在线| 欧美一级免费视频| 久久精品影视伊人网| 亚洲电影成人av99爱色| 亚洲第一区在线观看| 国模精品一区二区三区色天香| 亚洲精品成人久久久| 青青草原成人在线视频| 亚洲精品久久久久久下一站| 一区二区中文字幕| 日韩动漫免费观看电视剧高清| 欧美日韩成人黄色| 欧美性xxxxx极品娇小| 精品国产乱码久久久久久天美| 久久久久久久久中文字幕| 68精品久久久久久欧美| 中日韩美女免费视频网址在线观看| 亚洲精品一区二区三区婷婷月| 国产日产欧美a一级在线| 亚洲综合自拍一区| 国产成人av在线| 97精品国产91久久久久久| 亚洲成人a**站| 亚洲福利在线视频| 亚洲视频axxx| 成人羞羞国产免费| 亚洲视频精品在线| 欧美高清视频在线播放| 色av中文字幕一区| 成人欧美在线观看| 国产精品久久久久久影视| 日韩精品在线观看视频| 国产精品日韩专区| 午夜精品在线观看| 亚洲欧美日韩天堂一区二区| 亚洲国产中文字幕在线观看| 亚洲欧美另类人妖| 国产精品视频网站| 亚洲国产日韩一区| 亚洲情综合五月天| 国产三级精品网站| 91精品视频网站| 国产一区二区香蕉| 国产亚洲一区二区在线| 亚洲福利在线看| 一区二区成人av| 成人亚洲欧美一区二区三区| 日韩精品极品在线观看播放免费视频| 色爱av美腿丝袜综合粉嫩av| 国产一区二区三区在线观看视频| 久久91超碰青草是什么| 日韩福利视频在线观看| 成人福利网站在线观看| 日本成人在线视频网址| 欧美日韩亚洲国产一区| 美女少妇精品视频| 国产精品久久久久影院日本| 在线成人激情视频| 日韩精品极品视频免费观看| 欧美最顶级丰满的aⅴ艳星| 国产精品久久久久久久久久99| 在线观看91久久久久久| 欧美一性一乱一交一视频| 国产免费一区二区三区在线观看| 久久久久久av| 成人春色激情网| 日韩久久午夜影院| 最近2019中文免费高清视频观看www99| 亚洲影视中文字幕| 国产精品伦子伦免费视频| 精品国产999| 国产香蕉一区二区三区在线视频| 亚洲最新视频在线| 97视频在线观看网址| 国产精品丝袜一区二区三区| 日韩av中文字幕在线免费观看| 4444欧美成人kkkk| 日韩av在线高清| 久热精品视频在线免费观看| 成人激情综合网| 午夜精品福利电影| 这里精品视频免费| 精品国产福利在线| 亚洲国产欧美精品| 久久夜精品香蕉| 国产日韩综合一区二区性色av| 国产日产欧美a一级在线| 亚洲国产精品人久久电影| 亚洲成人激情在线观看| 少妇精69xxtheporn| 久久免费高清视频| 国产综合视频在线观看| 中文字幕久久久| 2018国产精品视频| 一区二区福利视频| 亚洲精品久久久久中文字幕二区| 日韩av综合网| 亚洲va欧美va国产综合剧情| 国产不卡在线观看| 亚洲国内精品在线| 一级做a爰片久久毛片美女图片| 久久天天躁狠狠躁老女人| 久久久精品久久久久| 日本久久亚洲电影| 欧美亚洲视频在线看网址| 久久久天堂国产精品女人| 成人免费看黄网站| 97精品国产97久久久久久免费| 久久久久久九九九| 欧美激情视频一区二区三区不卡| 国产精品网红直播| 欧美亚洲国产视频小说| 国产欧美精品久久久| 成人午夜两性视频| 在线看日韩av| 亚洲色图欧美制服丝袜另类第一页| 欧美精品video| 欧美激情精品在线| 亚洲欧洲国产伦综合| 国产激情久久久久| 久久精品这里热有精品| 亚洲无亚洲人成网站77777| 97久久精品国产| 亚洲а∨天堂久久精品喷水| 宅男66日本亚洲欧美视频| 91精品国产777在线观看| 91国自产精品中文字幕亚洲| 羞羞色国产精品| 亚洲人成在线观看| 国产精品久久久久久婷婷天堂| 在线播放国产一区中文字幕剧情欧美| 亚洲精品福利在线| 日韩精品视频观看| 98精品在线视频| 日韩久久午夜影院| 97精品一区二区视频在线观看| 热门国产精品亚洲第一区在线|