Microsoft.Office.Interop.Excel Find 操作
public void SearchLoactions(string filepath, int start, int end ,string expectvalue)
{
if (end >= start)
{
Application xlApp = new Application();
try
{
if (!File.Exists(filepath))
throw new FileNotFoundException("Can not find the file, please check whether the file exists");
var xlWorkBook = xlApp.Workbooks.Open(filepath, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
//code that fails or just returns bad ansvers:
//This code just returns a list of worksheets
//var worksheetlist = xlWorkBook.Worksheets.Cast().ToList();
var sheet = (Worksheet)xlApp.ActiveWorkbook.Worksheets[2];
var rgUsed = sheet.get_Range("S7:BZ105");
var rgFound = sheet.Range["S7", "BZ105"].Cells.Find(expectvalue, Type.Missing, XlFindLookIn.xlValues, XlLookAt.xlPart, XlSearchOrder.xlByRows, XlSearchDirection.xlNext, Type.Missing, Type.Missing, Type.Missing);
Range rgTmp = rgFound;
do
{
var item = rgTmp.get_Value();
Console.WriteLine("Value:" + item);
int iRowNum = rgTmp.Row;
Console.WriteLine("Row:"+iRowNum);
int iColNum = rgTmp.Column;
Console.WriteLine("Column:"+iColNum);
rgTmp = rgUsed.FindNext(rgTmp);
Console.WriteLine("---------------------------");
} while (rgTmp.Address != rgFound.Address);//记录第一个找到的range地址,当下一个单元格的地址与第一个相同,则跳出。
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Debug.WriteLine(ex.Message);
}
finally
{
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
xlApp = null;
}
//return itemlst;
}
else
{
//return null;
}
}
最新文章
- 【Java EE 学习 68】【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】
- 负载均衡的几种算法Java实现代码
- 关于Git和Github你不知道的十件事
- css 字体不撑开默认块级元素问题
- C语言的位运算
- 【转】Android之NetworkOnMainThreadException异常
- 用MATLAB实现字符串分割
- Wince 设备环境和画笔应用
- [Stephen]C#中调用C++动态链接库
- [css][移动设备]禁止横竖屏时内容自动调整
- 7.3.2 Using Backups for Recovery 使用备份用于恢复
- [转]Zend Studio 文件头和方法注释设置
- 《Unity3D/2D游戏开发从0到1(第二版本)》 书稿完结总结
- Attribute name ";aphmodel"; associated with an element type ";mxg"; must be followed by the ' = ' charac
- HTTPS 原理浅析及其在 Android 中的使用
- golang初识4 - Go 并发
- tabpanel如何隐藏页签表头以及基本用法总结
- # 【Python3练习题 007】 有一对兔子,从出生后第3个月起每个月都生一对兔子, # 小兔子长到第三个月后每个月又生一对兔子, # 假如兔子都不死,问每个月的兔子总数为多少?
- ​Web安全测试解决方案
- grabcut 分割 Rect