在打开excel文件以后给单元格赋值,获得单元格值,删除单元格的时候的方法:
1、打开空的excel文件
Excel.Application MyExcel = new Excel.Application();
Excel.Workbook workbook = MyExcel.Workbooks.Open(@"d:\1.xlsx", 0, false, 5, System.Reflection.Missing.Value, System.Reflection.Missing.Value, false, System.Reflection.Missing.Value, System.Reflection.Missing.Value, true, false, System.Reflection.Missing.Value, false, false, false);
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];//1代表是sheet1
2、给某一个单元格赋值和获取值
MyExcel.Cells[1, 2] = "First Row First Column";
Excel.Range r = (Excel.Range)sheet.Cells[1, 1]; string s1 = r.Text.ToString(); string s2 = r.Value2.ToString();//获取值需要用range
3、给一个range的单元格赋值
Excel.Range rang2 = worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, 100]);//创建一个range
需要一个相同大小的数组给range赋值:int[] i_arr = new int[100];
rang2.Value2 = i_arr;
4、删除一个range单元格
rang2.Delete(Excel.XlDeleteShiftDirection.xlShiftUp);
5、保存、关闭打开的excel文件
MyExcel.DisplayAlerts = false;
MyExcel.AlertBeforeOverwriting = false;
MyExcel.ActiveWorkbook.Save();
//MyExcel.ActiveWorkbook.SaveCopyAs(@"d:\tmp\2.xlsx");
MyExcel.Quit();
ps;使用range的方式给单元格赋值效率比单元格一个一个赋值高很多。10w行数据只需10秒