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

首頁 > 編程 > C# > 正文

C#實現將DataTable內容輸出到Excel表格的方法

2020-01-24 01:32:20
字體:
來源:轉載
供稿:網友

本文實例講述了C#實現將DataTable內容輸出到Excel表格的方法。分享給大家供大家參考。具體如下:

1.關于本文

本文描述了一個函數(SaveToExcel),該函數可以將DataTable數據內的數據輸出到Excel表格中

2.相關說明

1)本文中使用這個函數將一個DataTable中的內容輸出到路徑名為addr的目錄下:

復制代碼 代碼如下:
public void SaveToExcel(string addr, System.Data.DataTable dt)

2)這個函數需要引用Microsoft.Office.Interop.Excel命名空間

需要添加引用:Microsoft Excel 14.0 Object Library

并在程序的最上方添加:

復制代碼 代碼如下:
using Excel = Microsoft.Office.Interop.Excel;

3)文程序在窗體的保存按鈕(btnSave)單擊事件中調用了函數SaveToExcel:

//按鈕:將數據保存到Excel表格中private void btnSave_Click(object sender, EventArgs e){  SaveToExcel(txtAddress.Text, (DataTable)dgvTable4Output.DataSource);}

3.程序界面

4.程序代碼

Load函數部分:設置數據源

private void FormMain_Load(object sender, EventArgs e){  System.Data.DataTable dt;   string s1 = "甲乙丙丁戊己庚辛壬癸";  string s2 = "子丑寅卯辰巳午未申酉戌亥";  dt = new System.Data.DataTable("天干地支表");  //行表格  dt.Columns.Add("列0"); dt.Columns.Add("列1");  dt.Columns.Add("列2"); dt.Columns.Add("列3");  dt.Columns.Add("列4"); dt.Columns.Add("列5");  dt.Columns.Add("列6"); dt.Columns.Add("列7");  dt.Columns.Add("列8"); dt.Columns.Add("列9");  dt.Rows.Add("", "", "", "", "", "", "", "", "", "");  dt.Rows.Add("", "", "", "", "", "", "", "", "", "");  dt.Rows.Add("", "", "", "", "", "", "", "", "", "");  dt.Rows.Add("", "", "", "", "", "", "", "", "", "");  dt.Rows.Add("", "", "", "", "", "", "", "", "", "");  dt.Rows.Add("", "", "", "", "", "", "", "", "", "");  //生成干支表  int x = 0, y = 0;  for (int i = 0; i < 6; i++)  {    for (int j = 0; j < 10; j++)    {      dt.Rows[i][j] = s1[x].ToString() + s2[y].ToString();      x++; x = (x < s1.Length ? x : 0);      y++; y = (y < s2.Length ? y : 0);    }  }  dgvTable4Output.DataSource = dt;}

btnSave單擊事件部分:調用函數,將數據源存儲到Excel表格中

//按鈕:將數據保存到Excel表格中private void btnSave_Click(object sender, EventArgs e){  SaveToExcel(txtAddress.Text, (DataTable)dgvTable4Output.DataSource);}

函數SaveToExcel部分:

/// <summary>/// 將數據表保存到Excel表格中/// </summary>/// <param name="addr">Excel表格存放地址(程序運行目錄后面的部分)</param>/// <param name="dt">要輸出的DataTable</param>public void SaveToExcel(string addr, System.Data.DataTable dt){  //0.注意:  // * Excel中形如Cells[x][y]的寫法,前面的數字是列,后面的數字是行!  // * Excel中的行、列都是從1開始的,而不是0  //1.制作一個新的Excel文檔實例  Excel::Application xlsApp = new Excel::Application();  xlsApp.Workbooks.Add(true);  /* 示例輸入:需要注意Excel里數組以1為起始(而不是0)    * for (int i = 1; i < 10; i++)    * {    *   for (int j = 1; j < 10; j++)    *   {    *     xlsApp.Cells[i][j] = "-";     *   }    * }    */  //2.設置Excel分頁卡標題  xlsApp.ActiveSheet.Name = dt.TableName;  //3.合并第一行的單元格  string temp = "";  if (dt.Columns.Count < 26)  {    temp = ((char)('A' + dt.Columns.Count)).ToString();  }  else if (dt.Columns.Count <= 26 + 26 * 26)  {    temp = ((char)('A' + (dt.Columns.Count - 26) / 26)).ToString()      + ((char)('A' + (dt.Columns.Count - 26) % 26)).ToString();  }  else throw new Exception("列數過多");  Excel::Range range = xlsApp.get_Range("A1", temp + "1");  range.ClearContents(); //清空要合并的區域  range.MergeCells = true; //合并單元格  //4.填寫第一行:表名,對應DataTable的TableName  xlsApp.Cells[1][1] = dt.TableName;  xlsApp.Cells[1][1].Font.Name = "黑體";  xlsApp.Cells[1][1].Font.Size = 25;  xlsApp.Cells[1][1].Font.Bold = true;  xlsApp.Cells[1][1].HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//居中  xlsApp.Rows[1].RowHeight = 60; //第一行行高為60(單位:磅)  //5.合并第二行單元格,用于書寫表格生成日期  range = xlsApp.get_Range("A2", temp + "2");  range.ClearContents(); //清空要合并的區域  range.MergeCells = true; //合并單元格  //6.填寫第二行:生成時間  xlsApp.Cells[1][2] = "報表生成于:" + DateTime.Now.ToString();  xlsApp.Cells[1][2].Font.Name = "宋體";  xlsApp.Cells[1][2].Font.Size = 15;  //xlsApp.Cells[1][2].HorizontalAlignment = 4;//右對齊  xlsApp.Cells[1][2].HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//居中  xlsApp.Rows[2].RowHeight = 30; //第一行行高為60(單位:磅)  //7.填寫各列的標題行  xlsApp.Cells[1][3] = "序號";  for (int i = 0; i < dt.Columns.Count; i++)  {    xlsApp.Cells[i + 2][3] = dt.Columns[i].ColumnName;  }  xlsApp.Rows[3].Font.Name = "宋體";  xlsApp.Rows[3].Font.Size = 15;  xlsApp.Rows[3].Font.Bold = true;  xlsApp.Rows[3].HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//居中  //設置顏色  range = xlsApp.get_Range("A3", temp + "3");  range.Interior.ColorIndex = 33;  //8.填寫DataTable中的數據  for (int i = 0; i < dt.Rows.Count; i++)  {    xlsApp.Cells[1][i + 4] = i.ToString();    for (int j = 0; j < dt.Columns.Count; j++)    {      xlsApp.Cells[j + 2][i + 4] = dt.Rows[i][j];    }  }  range = xlsApp.get_Range("A4", temp + (dt.Rows.Count + 3).ToString());  range.Interior.ColorIndex = 37;  range.HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;  //9.描繪邊框  range = xlsApp.get_Range("A1", temp + (dt.Rows.Count + 3).ToString());  range.Borders.LineStyle = 1;  range.Borders.Weight = 3;  //10.打開制作完畢的表格  //xlsApp.Visible = true;  //11.保存表格到根目錄下指定名稱的文件中  xlsApp.ActiveWorkbook.SaveAs(Application.StartupPath + "/" + addr);  xlsApp.Quit();  xlsApp = null;  GC.Collect();}

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩久久精品电影| 欧美日韩中文在线观看| 日韩综合中文字幕| 国产精品男人的天堂| 亚洲精品一二区| 亚洲成人网在线| 国产免费一区二区三区在线观看| 97在线视频免费播放| 日韩精品中文字幕在线| 亚洲欧美日韩一区二区在线| 成人国内精品久久久久一区| 欧美韩国理论所午夜片917电影| 亚洲第一天堂无码专区| 欧美极品少妇xxxxx| 久久人人爽人人爽人人片av高请| 欧美成人国产va精品日本一级| 国产成人精品日本亚洲| 福利一区福利二区微拍刺激| 国产成人精品免费视频| 亚洲欧美成人在线| 日韩在线欧美在线国产在线| 精品亚洲va在线va天堂资源站| 成人免费视频97| 亚洲国产欧美一区二区三区同亚洲| 亚洲乱码国产乱码精品精| 全亚洲最色的网站在线观看| 亚洲黄页网在线观看| 亚洲综合精品伊人久久| 日韩精品极品毛片系列视频| 日韩欧美在线中文字幕| 久久精品视频网站| 国产91在线播放精品91| 福利视频一区二区| 91国产视频在线播放| 北条麻妃一区二区三区中文字幕| 国产精品一区二区三区在线播放| 国产精品av在线播放| 98精品国产高清在线xxxx天堂| 日韩欧美中文第一页| 色视频www在线播放国产成人| 亚洲欧美日韩中文视频| 在线播放日韩av| 精品无人区乱码1区2区3区在线| 久久激情视频免费观看| 日本道色综合久久影院| 国产欧美一区二区三区在线看| 亚洲精品美女在线| 日韩精品免费在线播放| 国产欧美日韩中文字幕在线| 欧美国产乱视频| 精品一区二区三区三区| 亚洲精品国产免费| 成人免费在线视频网站| 亚洲精品久久7777777| 亚洲美女中文字幕| 欧美精品情趣视频| 97国产真实伦对白精彩视频8| 国产日韩av在线| 91久久国产精品91久久性色| 欧美xxxx14xxxxx性爽| 亚洲美女精品久久| 国产精品九九九| 日韩av免费在线| 精品久久香蕉国产线看观看gif| 91国产在线精品| 91网站免费看| 一区二区中文字幕| 欧美www视频在线观看| 性色av一区二区三区免费| 国产精品揄拍500视频| 精品成人国产在线观看男人呻吟| 亚洲第一中文字幕在线观看| 日韩电影视频免费| 亚洲女人天堂网| 国产成人精品一区| 91在线视频一区| 亚洲伊人久久大香线蕉av| 国产精品第一页在线| 在线一区二区日韩| 午夜精品理论片| 国产精品夫妻激情| 欧美有码在线观看视频| 欧美日韩一区二区免费视频| 久久精品国产亚洲| 久久国产精品久久久久久久久久| 国产xxx69麻豆国语对白| 伊人久久精品视频| 欧美日韩国产在线看| 久精品免费视频| 国产精品免费一区| 久久成人免费视频| 久久夜色精品国产亚洲aⅴ| 色诱女教师一区二区三区| 亚洲精品视频在线播放| 国产精品久久久av久久久| 日韩理论片久久| 久久91精品国产| 一区二区三区四区精品| 欧美性xxxx极品高清hd直播| 日本道色综合久久影院| 国产精品久久久91| 精品综合久久久久久97| 久久久久久综合网天天| 国产精品久久视频| 日韩中文字幕av| 国产精品夫妻激情| 国产日韩精品在线观看| 91亚洲精品久久久久久久久久久久| 4444欧美成人kkkk| 国产精品第七影院| 亚洲国产日韩欧美在线99| 中文字幕精品一区久久久久| 91网站在线免费观看| 欧美性视频在线| 国产精品video| 91网站免费观看| 亚洲欧美中文在线视频| 久久理论片午夜琪琪电影网| 日韩av在线天堂网| 久久免费国产精品1| 欧美成人午夜激情在线| 欧美激情精品久久久久久黑人| 国产精品你懂得| 亚洲午夜女主播在线直播| 日韩成人在线视频| 国模私拍视频一区| 亚洲尤物视频网| 中文字幕精品影院| 国产黑人绿帽在线第一区| 在线看福利67194| 97精品在线视频| 久久久精品久久久| 日韩在线欧美在线国产在线| 午夜精品www| 国产自产女人91一区在线观看| 欧美日韩国产在线播放| 久久久国产精品免费| 国产精品99久久久久久人| 欧美洲成人男女午夜视频| 欧美成人一区在线| 欧美成人精品影院| 日本久久91av| 国产精品高清免费在线观看| 亚洲一区精品电影| 亚洲免费视频网站| 精品久久久久久中文字幕一区奶水| 日韩av在线一区| 久久伊人精品天天| 欧美性在线视频| 国产精品自产拍在线观| 一区二区在线视频| 久久久久久国产| 亚洲激情自拍图| 色妞在线综合亚洲欧美| 亚洲国产精品资源| 国产精品爽爽爽爽爽爽在线观看| 国产91精品视频在线观看| 91免费视频国产| 日韩电影中文字幕在线| 亚洲天堂男人的天堂| 国产精品老女人精品视频| 欧美另类老女人| 亚洲自拍欧美另类| 91精品在线看|