我是C#的新手。我已经使用下面的代码从Excel读取数据,但是我需要修改它来读取键值对的帮助。
style
答案 0 :(得分:1)
这里是一个例子;假定您有一个using子句。
using Excel = Microsoft.Office.Interop.Excel;
..并准备访问工作表:
Excel.Application xl = new Excel.Application();
xl.Workbooks.Open(filename);
Excel.Worksheet ws = xl.Workbooks[1].Worksheets[1]; // pick your sheet!
int keyColum = 3;
现在您可以抓取Range
中的Cells
:
Excel.Range keyRange= ws.Range["C3:C53"];
..或整列:
Excel.Range keyRange= ws.Range["C:C"];
搜索所有出现的搜索字符串:
Excel.Range keysFound = keyRange.Find(textBox1.Text);
然后您可以像这样访问找到的单元格范围:
string msg1 = keysFound.Count + " records found.";
string msg2 = "1st in row " + keysFound.Row;
string msg3 = "value from next column is "
+ ws.Cells[keysFound.Row + 1, keyColum + 1].value;
注释:
[keysFound.Row + 1,
)keysFound
将是null
! (添加支票!)由于要匹配整个键,因此您需要进行精确搜索:
Excel.Range keysFound = keyRange.Find(textBox1.Text, LookAt: Excel.XlLookAt.xlWhole);
我仍然认为,获取所有数据并将其填充到Dictionary
中将是最干净,最快的解决方案,除非那只需要进行一次查找即可。