C# 操作Excel基礎(chǔ)實(shí)例淺析
C# 操作Excel基礎(chǔ)實(shí)例的開(kāi)始我們先來(lái)看看實(shí)例實(shí)施的環(huán)境配置:
Windows XP
Microsoft Visual Studio 2008
office 2003
C# 操作Excel基礎(chǔ)實(shí)例網(wǎng)上搜索C#實(shí)現(xiàn)Excel操作的示例太多了,但不知道有多少是經(jīng)過(guò)驗(yàn)證確實(shí)可行才發(fā)布出來(lái)的,也是因?yàn)殚_(kāi)發(fā)需要,我找了一些代碼卻發(fā)現(xiàn)大多都不能正確執(zhí)行完畢,于是決定補(bǔ)充自己在實(shí)踐中遇到的要點(diǎn)以供參考。如下示例:
C# 操作Excel基礎(chǔ)實(shí)例的文件頭:
- using System.Reflection;
 - // 引用這個(gè)才能使用Missing字段
 - using Excel;
 - Excel.ApplicationClass excel =
 - new Excel.ApplicationClass();
 - excel.Visible = true; //激活Excel
 - Workbook wBook= excel.Workbooks.Add(true);
 - //Worksheet wSheet = (Excel._Worksheet)wBook.ActiveSheet;
 - Worksheet wSheet = (Excel.Worksheet)wBook.ActiveSheet;
 - excel.Cells[3, 5] = "本公司電話: " + Phone;
 - excel.Cells[4, 5] = "本公司傳真: " + Zhen;
 - excel.Cells[5, 5] = "聯(lián)系人: " + ComName;
 - excel.Cells[4, 1] = "客戶: " + CustomerName;
 - excel.Cells[5, 1] = "聯(lián)系人: " + Associate;
 - excel.Cells[3, 8] = "戶名:";
 - excel.Cells[3, 9] = AccountName;
 - excel.Cells[4, 8] = "開(kāi)戶行:";
 - excel.Cells[4, 9] = BranchName;
 - excel.Cells[5, 8] = "帳號(hào):";
 - excel.Cells[5, 9] = "'" + AccountID;
 - //設(shè)置禁止彈出保存和覆蓋的詢問(wèn)提示框
 - excel.DisplayAlerts = false;
 - excel.AlertBeforeOverwriting = false;
 - //保存工作薄
 - //wBook.Save();
 - //每次保存激活的表,
 - //這樣才能多次操作保存不同的Excel表,
 - //默認(rèn)保存位置是在”我的文檔"
 - //C# 操作Excel基礎(chǔ)實(shí)例
 - excel.Cells.Font.Size = 12;
 - excel.Cells.Font.Bold = false;
 - //Excel.Range m_objRange = m_objRange.get_Range(1, 3);
 - wSheet.get_Range(excel.Cells[1, 3],
 - excel.Cells[1, 3]).Font.Size = 24;
 - wSheet.get_Range(excel.Cells[1, 3],
 - excel.Cells[1, 3]).Font.Bold = true;
 - wSheet.get_Range(excel.Cells[3, 1],
 - excel.Cells[3, 1]).Font.ColorIndex = 3;
 - //此處設(shè)為紅色,不能用Font.Color來(lái)設(shè)置顏色
 - //m_objRange.Cells.Font.Size = 24;
 - //m_objRange.Cells.Font.Bold = true;
 - //C# 操作Excel基礎(chǔ)實(shí)例
 - excel.ActiveWorkbook.SaveCopyAs(filename);
 - excel.Quit();
 
C# 操作Excel基礎(chǔ)實(shí)例代碼注釋部分只是簡(jiǎn)單描述各語(yǔ)句的原由,個(gè)別的還是值得推敲的。
C# 操作Excel基礎(chǔ)實(shí)例語(yǔ)句一
Workbook wBook= excel.Workbooks.Add(true);
Workbooks.Add的參數(shù)是個(gè)object類型,通常使用true或null,表明工作簿在默認(rèn)文檔下創(chuàng)建,或者使用枚舉值
XlWBATemplate.xlWBATWorksheet,但如果傳入一個(gè)excel完整文件名,卻相當(dāng)于打開(kāi)已有工作簿。
C# 操作Excel基礎(chǔ)實(shí)例語(yǔ)句二
Worksheet wSheet = (Excel.Worksheet)wBook.ActiveSheet;
這樣可以操作多個(gè)工作表的話,實(shí)例化之后加入到wBook.Worksheets中去。如果是打開(kāi)已存在的工作簿,這條語(yǔ)句也可能會(huì)報(bào)錯(cuò),***是調(diào)用wBook.ActiveSheet來(lái)獲取或者再加些判斷。
C# 操作Excel基礎(chǔ)實(shí)例語(yǔ)句三
excel.ActiveWorkbook.SaveCopyAs(filename);
這兩句代碼至關(guān)重要,而且必不可少,否則,保存時(shí)會(huì)彈出“是否保存sheet1.xls”的對(duì)話框。判斷當(dāng)前激活的表,并保存這個(gè)表。
C# 操作Excel基礎(chǔ)實(shí)例語(yǔ)句四
excel.Quit();
這個(gè)關(guān)閉一直有疑點(diǎn),因?yàn)镃#操作com非托管對(duì)象時(shí),憑借Quit()還沒(méi)有釋放掉對(duì)象,excel進(jìn)程不一定會(huì)終止,于是,有人使用KillProcess()來(lái)處理,我個(gè)人認(rèn)為這不是一個(gè)好主意,可能會(huì)破壞其它正在執(zhí)行的excel進(jìn)程。
null;權(quán)作安慰吧。不過(guò)有一點(diǎn)是一定要做到,就是在Quit()前不能再有任何更改,不然還是會(huì)彈出保存的對(duì)話框。所以退出前確保一定是執(zhí)行過(guò)WorkBook或是Application的Save()方法的。
對(duì)于在c#中操作excel應(yīng)用的方面很多,可能還會(huì)有些疑問(wèn)出現(xiàn),知曉來(lái)龍去脈的朋友盡量補(bǔ)充以方便大家吧。
C# 操作Excel基礎(chǔ)實(shí)例的基本內(nèi)容就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C# 操作Excel有所幫助。
【編輯推薦】















 
 
 
 
 
 
 