C# Excel的读取和修改
2016-03-25 14:32
507 查看
public void ReadExcelAndModify(string strFileFullName)
{
int IDX = 1;
int TestcaseName = 3;
int Result = 5;
//读取Excel文件
Microsoft.Office.Interop.Excel.Application objExcelApp;//定义Excel Application对象
Microsoft.Office.Interop.Excel.Workbooks objExcelWorkBooks;//定义Workbook工作簿集合对象
Microsoft.Office.Interop.Excel.Workbook objExcelWorkbook;//定义Excel workbook工作簿对象
Microsoft.Office.Interop.Excel.Worksheet objExcelWorkSheet;//定义Workbook工作表对象
object oMissiong = System.Reflection.Missing.Value;
objExcelApp = new Microsoft.Office.Interop.Excel.Application(); objExcelWorkBooks = objExcelApp.Workbooks;
objExcelWorkbook = objExcelWorkBooks.Open(strFileFullName, 0, false, 5, "", "", true,
Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
//打开工作表
objExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)objExcelWorkbook.Worksheets[1]; //strSheetName是指的Exce工作簿的Sheet名,如果没有命名则为"1"
objExcelWorkSheet.Select(Type.Missing);
try
{
DataTable dt = new DataTable();
int iRowCount = objExcelWorkSheet.UsedRange.Rows.Count;
int iColCount = objExcelWorkSheet.UsedRange.Columns.Count;
for (int i = 2; i < iRowCount; i++)
{
string strIDX = ((Microsoft.Office.Interop.Excel.Range)objExcelWorkSheet.Cells[i, IDX]).Text.ToString();
if (strIDX == "√")
{
string strTestcaseName = ((Microsoft.Office.Interop.Excel.Range)objExcelWorkSheet.Cells[i, TestcaseName]).Text.ToString();
object result = CaseInstance.GetType().GetMethod(strTestcaseName).Invoke(CaseInstance, null);
if (result != null)
{
//textResult.Text += String.Format(result.ToString());
objExcelWorkSheet.Cells[i, Result] = result;
}
}
}
objExcelWorkbook.Save();
}
catch (Exception)
{
throw;
}
finally
{
objExcelWorkbook.Close(false, oMissiong, oMissiong);
System.Runtime.InteropServices.Marshal.ReleaseComObject(objExcelWorkbook);
objExcelWorkbook = null;
objExcelApp.Workbooks.Close();
objExcelApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(objExcelApp);
objExcelApp = null;
}
}
{
int IDX = 1;
int TestcaseName = 3;
int Result = 5;
//读取Excel文件
Microsoft.Office.Interop.Excel.Application objExcelApp;//定义Excel Application对象
Microsoft.Office.Interop.Excel.Workbooks objExcelWorkBooks;//定义Workbook工作簿集合对象
Microsoft.Office.Interop.Excel.Workbook objExcelWorkbook;//定义Excel workbook工作簿对象
Microsoft.Office.Interop.Excel.Worksheet objExcelWorkSheet;//定义Workbook工作表对象
object oMissiong = System.Reflection.Missing.Value;
objExcelApp = new Microsoft.Office.Interop.Excel.Application(); objExcelWorkBooks = objExcelApp.Workbooks;
objExcelWorkbook = objExcelWorkBooks.Open(strFileFullName, 0, false, 5, "", "", true,
Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
//打开工作表
objExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)objExcelWorkbook.Worksheets[1]; //strSheetName是指的Exce工作簿的Sheet名,如果没有命名则为"1"
objExcelWorkSheet.Select(Type.Missing);
try
{
DataTable dt = new DataTable();
int iRowCount = objExcelWorkSheet.UsedRange.Rows.Count;
int iColCount = objExcelWorkSheet.UsedRange.Columns.Count;
for (int i = 2; i < iRowCount; i++)
{
string strIDX = ((Microsoft.Office.Interop.Excel.Range)objExcelWorkSheet.Cells[i, IDX]).Text.ToString();
if (strIDX == "√")
{
string strTestcaseName = ((Microsoft.Office.Interop.Excel.Range)objExcelWorkSheet.Cells[i, TestcaseName]).Text.ToString();
object result = CaseInstance.GetType().GetMethod(strTestcaseName).Invoke(CaseInstance, null);
if (result != null)
{
//textResult.Text += String.Format(result.ToString());
objExcelWorkSheet.Cells[i, Result] = result;
}
}
}
objExcelWorkbook.Save();
}
catch (Exception)
{
throw;
}
finally
{
objExcelWorkbook.Close(false, oMissiong, oMissiong);
System.Runtime.InteropServices.Marshal.ReleaseComObject(objExcelWorkbook);
objExcelWorkbook = null;
objExcelApp.Workbooks.Close();
objExcelApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(objExcelApp);
objExcelApp = null;
}
}
相关文章推荐
- C#基础(六)--枚举的一些常用操作
- C#基础(五)--枚举的含义及其应用
- C#获取周一、周日的日期 函数类
- C#基础(四)--值类型和引用类型,栈和堆的含义
- c#---HashSet对类的判重
- C#基础(三)--运算符及条件控制语句
- C#编写WIN32系统托盘程序
- C#基础(二)--之数据类型
- C# Timer自带定时器
- 用C#来编程获取MAC
- C#如何调用外部程序,及该托盘程序的恢复与隐藏
- C#编写的艺术字类实例代码
- C#根据长度来分割字符串
- c#基础(一)
- C#上位机
- C# ListView用法详解
- C#委托Action、Action<T>、Func<T>、Predicate<T>
- c# 如何通过反射 获取\设置属性值
- C#中的ODBC、OLEDB连接
- C#控制鼠标移动