C#操作EXCEL |
發(fā)布時(shí)間: 2012/9/11 17:09:49 |
在網(wǎng)上查看了很多資料都沒(méi)有一個(gè)確切的說(shuō)法,后來(lái)自己整合MSDN的幫助文檔寫了一些操作EXCEL的代碼,希望借此可以跟大家分享,與大家一起進(jìn)步。 C#為EXCEL提供了OLE借口,方便我們進(jìn)行數(shù)據(jù)的讀寫操作,安裝的EXCEL版本至少為11.0以上的版本,因?yàn)槲?a class="channel_keylink" target="_blank" >測(cè)試的環(huán)境就是11.0的,太過(guò)老舊的版本無(wú)疑會(huì)出現(xiàn)一些不兼容性的問(wèn)題,太過(guò)高的版本則又會(huì)出現(xiàn)一些無(wú)法處理的異常信息,我們?nèi)绻枰M(jìn)行EXCEL的操作還需要引入一些文件。DLL. 代碼如下: //啟動(dòng)EXCEL Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); //判斷PC上面是否裝有EXCEL if (xlApp == null) { MessageBox.Show(“EXCEL未能啟動(dòng),請(qǐng)檢查您的機(jī)器上是否裝有EXCEL”); return; } //設(shè)置EXCEL為可見 xlApp.Visible = true; //增加一個(gè)工作表SHEET1 Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); Worksheet ws = (Worksheet)wb.Worksheets[1]; if (ws == null) { MessageBox.Show(“EXCEL未能啟動(dòng),請(qǐng)檢查您的機(jī)器上是否裝有EXCEL”); } int z = 2;//因?yàn)槭菑牡诙虚_始,所以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; } 這個(gè)是從dbgrid向EXCEL中寫數(shù)據(jù),我沒(méi)有去用到第二層循環(huán),為的是提高程序的運(yùn)行速度,如果需要填寫單元格的內(nèi)容,直接可以這樣了 ws.Cells[1, 1]=“默認(rèn)的字段內(nèi)容”. 如果大家有更好的寫法不妨大家一起討論一下。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |