文章目錄
- 1.在項目中引用Microsoft Excel 12.0 Object Lib這個COM元件,如圖所示。
- 2. 在命名空間中添加引用,完整的引用如圖所示。
- 3.打開、關閉Excel檔案
- 4. 擷取工作表
- 5. 删除工作表
- 6. 對EXCEl工作表的行列進行操作
- 7. 對EXCEL文檔中的單元格進行操作
- 完整代碼
1.在項目中引用Microsoft Excel 12.0 Object Lib這個COM元件,如圖所示。
2. 在命名空間中添加引用,完整的引用如圖所示。
3.打開、關閉Excel檔案
//EXCEL所存儲的路徑
string fileName = @"C:\Users\Administrator\Desktop\測試.xls";
//建立一個應用程式EXC1
MSword.Application EXC1 = new MSword.Application();
EXC1.Visible = true;//設定EXC1打開後可見
MSword.Workbooks wbs = EXC1.Workbooks;
MSword._Workbook wb = wbs.Add(fileName);//打開并顯示EXCEL檔案
wb.Close();//關閉文檔
wbs.Close();//關閉工作簿
EXC1.Quit();//關閉EXCEL應用程式
//釋放EXCEL應用程式的程序
System.Runtime.InteropServices.Marshal.ReleaseComObject(EXC1);
4. 擷取工作表
一個Excel文檔中,通常會有多張工作表,通過一些基本的指令,可以擷取某張工作表的名稱,行數等.
首先,擷取工作表應在關閉文檔之前,是以,我們先将第3步驟中的關閉文檔及後面的代碼注釋掉,然後再寫入對工作表進行操作的代碼,如下面代碼所示。
//EXCEL所存儲的路徑
string fileName = @"C:\Users\Administrator\Desktop\測試.xls";
//建立一個應用程式EXC1
MSword.Application EXC1 = new MSword.Application();
EXC1.Visible = true;//設定EXC1打開後可見
MSword.Workbooks wbs = EXC1.Workbooks;
MSword._Workbook wb = wbs.Add(fileName);//打開并顯示EXCEL檔案
MSword._Worksheet Exsheet;//定義一個新的工作表
Exsheet = wb.Sheets[1];//擷取Excel檔案中的第一張工作表
string sName = Exsheet.Name;//将工作表名稱,存入一個字元串變量進行記錄
int sRowcount = Exsheet.Rows.Count;//将工作表行數,存入一個整型變量進行記錄
//同樣可以通過 Exsheet = wb.Sheets[2]進行操作
Exsheet.Activate();//激活工作表
//wb.Close();//關閉文檔
//wbs.Close();//關閉工作簿
//EXC1.Quit();//關閉EXCEL應用程式
釋放EXCEL應用程式的程序
//System.Runtime.InteropServices.Marshal.ReleaseComObject(EXC1);
5. 删除工作表
如下面的代碼所示,在激活工作表1後,擷取工作表3,然後對工作表三進行删除操作。
//EXCEL所存儲的路徑
string fileName = @"C:\Users\Administrator\Desktop\測試.xls";
//建立一個應用程式EXC1
MyExcel.Application EXC1 = new MyExcel.Application();
EXC1.Visible = true;//設定EXC1打開後可見
MyExcel.Workbooks wbs = EXC1.Workbooks;
MyExcel._Workbook wb = wbs.Add(fileName);//打開并顯示EXCEL檔案
MyExcel._Worksheet Exsheet;//定義一個新的工作表
Exsheet = wb.Sheets[1];//擷取Excel檔案中的第一張工作表
string sName = Exsheet.Name;//将工作表名稱,存入一個字元串變量進行記錄
int sRowcount = Exsheet.Rows.Count;//将工作表行數,存入一個整型變量進行記錄
//同樣可以通過 Exsheet = wb.Sheets[2]進行操作
Exsheet.Activate();//激活工作表
MyExcel.Sheets dd = wb.Sheets;//擷取工作表
Exsheet = (MyExcel.Worksheet)dd.get_Item(3);
EXC1.DisplayAlerts = false;
Exsheet.Delete();//删除第三張工作表
wb.Save();
//wb.Close();//關閉文檔
//wbs.Close();//關閉工作簿
//EXC1.Quit();//關閉EXCEL應用程式
釋放EXCEL應用程式的程序
//System.Runtime.InteropServices.Marshal.ReleaseComObject(EXC1);
6. 對EXCEl工作表的行列進行操作
//EXCEL所存儲的路徑
string fileName = @"C:\Users\Administrator\Desktop\測試.xls";
//建立一個應用程式EXC1
MyExcel.Application EXC1 = new MyExcel.Application();
EXC1.Visible = true;//設定EXC1打開後可見
MyExcel.Workbooks wbs = EXC1.Workbooks;
MyExcel._Workbook wb = wbs.Add(fileName);//打開并顯示EXCEL檔案
object Nothing = Missing.Value;
MyExcel._Worksheet Exsheet;//定義一個新的工作表
Exsheet = wb.Sheets[1];//擷取Excel檔案中的第一張工作表
string sName = Exsheet.Name;//将工作表名稱,存入一個字元串變量進行記錄
int sRowcount = Exsheet.Rows.Count;//将工作表行數,存入一個整型變量進行記錄
//同樣可以通過 Exsheet = wb.Sheets[2]進行操作
Exsheet.Activate();//激活工作表
//删除工作表第一行
((MyExcel.Range)Exsheet.Rows[1, Nothing]).Delete(MyExcel.XlDeleteShiftDirection.xlShiftUp);
//删除工作表第二列
((MyExcel.Range)Exsheet.Cells[Exsheet.Rows.Count, 2]).Delete(MyExcel.XlDeleteShiftDirection.xlShiftToLeft);
((MyExcel.Range)Exsheet.Rows[3, Missing.Value]).RowHeight = 5;//設定行高
((MyExcel.Range)Exsheet.Rows[3, Missing.Value]).ColumnWidth = 5;//設定列寬
7. 對EXCEL文檔中的單元格進行操作
#region 打開EXCEL檔案子產品
//EXCEL所存儲的路徑
string fileName = @"C:\Users\Administrator\Desktop\測試.xls";
//建立一個應用程式EXC1
MyExcel.Application EXC1 = new MyExcel.Application();
EXC1.Visible = true;//設定EXC1打開後可見
MyExcel.Workbooks wbs = EXC1.Workbooks;
MyExcel._Workbook wb = wbs.Add(fileName);//打開并顯示EXCEL檔案
object Nothing = Missing.Value;
MyExcel._Worksheet Exsheet;//定義一個新的工作表
Exsheet = wb.Sheets[1];//擷取Excel檔案中的第一張工作表
string sName = Exsheet.Name;//将工作表名稱,存入一個字元串變量進行記錄
int sRowcount = Exsheet.Rows.Count;//将工作表行數,存入一個整型變量進行記錄
//同樣可以通過 Exsheet = wb.Sheets[2]進行操作
Exsheet.Activate();//激活工作表
MyExcel.Range DYG = (MyExcel.Range)Exsheet.Cells[2, 2];//單元格B2
string content = DYG.Text;//讀取單元格中的内容,并且寫入一個string類型變量中
double height = DYG.Height;//讀取單元格的高度,并且寫入一個double類型的變量中
double width = DYG.Width;//讀取單元格的寬度,并且寫入一個double類型的變量中
Exsheet.Cells[2, 2] = "= A5&A3";//在B2單元格中設定公式
Exsheet.Cells[2, 3] = "sssss";//在C3單元格中設定内容
完整代碼
https://download.csdn.net/download/weixin_42764060/11175686