C#操作EXCEL |
發(fā)布時間: 2012/9/11 17:09:49 |
在網(wǎng)上查看了很多資料都沒有一個確切的說法,后來自己整合MSDN的幫助文檔寫了一些操作EXCEL的代碼,希望借此可以跟大家分享,與大家一起進步。 C#為EXCEL提供了OLE借口,方便我們進行數(shù)據(jù)的讀寫操作,安裝的EXCEL版本至少為11.0以上的版本,因為我測試的環(huán)境就是11.0的,太過老舊的版本無疑會出現(xiàn)一些不兼容性的問題,太過高的版本則又會出現(xiàn)一些無法處理的異常信息,我們?nèi)绻枰M行EXCEL的操作還需要引入一些文件。DLL. 代碼如下: //啟動EXCEL Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); //判斷PC上面是否裝有EXCEL if (xlApp == null) { MessageBox.Show(“EXCEL未能啟動,請檢查您的機器上是否裝有EXCEL”); return; } //設置EXCEL為可見 xlApp.Visible = true; //增加一個工作表SHEET1 Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); Worksheet ws = (Worksheet)wb.Worksheets[1]; if (ws == null) { MessageBox.Show(“EXCEL未能啟動,請檢查您的機器上是否裝有EXCEL”); } int z = 2;//因為是從第二行開始,所以z=2; int k = 0; for (int i = 0; i <= dataGridView1.RowCount - 1; i++) { ws.Cells[z, 1] = dataGridView1.Rows[i].Cells[k].Value; ws.Cells[z, 2] = dataGridView1.Rows[i].Cells[k + 1].Value; ws.Cells[z, 3] = dataGridView1.Rows[i].Cells[k + 2].Value; z = z + 1; } 這個是從dbgrid向EXCEL中寫數(shù)據(jù),我沒有去用到第二層循環(huán),為的是提高程序的運行速度,如果需要填寫單元格的內(nèi)容,直接可以這樣了 ws.Cells[1, 1]=“默認的字段內(nèi)容”. 如果大家有更好的寫法不妨大家一起討論一下。 本文出自:億恩科技【prubsntakaful.com】 |