首先要引入
using System;
using System.Data.OleDb;
using System.Data;
using Microsoft.Office.Interop.Excel;
第二步
读取Excel文件
protected Microsoft.Office.Interop.Excel.Application objExcelApp;//定义Excel Application对象
private Microsoft.Office.Interop.Excel.Workbooks objExcelWorkBooks;//定义Workbook工作簿集合对象
protected Microsoft.Office.Interop.Excel.Workbook objExcelWorkbook;//定义Excel workbook工作簿对象
private Worksheet objExcelWorkSheet;//定义Workbook工作表对象
objExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
objExcelWorkBooks = objExcelApp.Workbooks;
objExcelWorkbook = objExcelWorkBooks.Open(strFileFullName, 0, false, 5, "", "", true,
Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
//方法中的各种参数的意思,第一个是文件;其他的参数建议查看一下帮助文档
第三步
打开工作表
objExcelWorkSheet = (Worksheet)objExcelWorkbook.Worksheets[strSheetName]; //strSheetName是指的Exce工作簿的Sheet名,如果没有命名则为"1"
objExcelWorkSheet.Select(Type.Missing);
第四步
获取单元格值
//你这里只要比较B4和B5的长度,所以只需取这两个值就可以
//获得当前活动表
Worksheet objExcelWorkSheetTemp = (Worksheet)objExcelApp.ActiveSheet;
//B4的值
Range objRange = objExcelWorkSheetTemp.get_Range(objExcelWorkSheetTemp.Cells[4, 2], objExcelWorkSheetTemp.Cells[4, 2]);
string strB4Value = objRange.Value2.ToSting();
//同理读取B5值
Range objRange2 = objExcelWorkSheetTemp.get_Range(objExcelWorkSheetTemp.Cells[5, 2], objExcelWorkSheetTemp.Cells[5, 2]);
string strB5Value = objRange2.Value2.ToSting();
//若想循环取值,建议使用oledb方式将数据读出来,放在DataTable中,再循环处理,这里就不细说,网上到处都有
第五步
此时两个值已经取得,比较值长度和处理字符串,相信你也会。这里也就不细说了。
第六步
往Excel里写值
objExcelWorkSheetTemp.Cells[intRow, intCol] = strValue;//intRow,行;intCol;列;strValue,你处理完以后的值
第七步
保存Excel
objExcelWorkbook.Save();
最后
在前台返回MessageBox即可。相信你也会。
有什么问题再问我吧。