我创建了我自己的搜索并用excel替换了一个额外的功能区。我想在excel文档中找到某个字符串(不是现有的文档,当我运行应用程序时,visual studio会自动打开excel)。问题在于他无法在电子表格中找到我们在编辑框(txtFind)中给出的值。当我创建一个单元对象时,该应用程序在我的循环中给出了一个错误。Excel加载项c#找到
这是代码:
Excel.Application exc = new Excel.Application();
if (exc == null)
{
Console.WriteLine("ERROR: EXCEL couldn't be started!");
}
Workbooks workbooks = exc.Workbooks;
Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Sheets sheets = workbook.Worksheets;
Worksheet worksheet = (Worksheet)sheets.get_Item(1);
if (worksheet == null)
{
Console.WriteLine("ERROR: worksheet == null");
}
for (int i = 1; i < 150; i++)
{
for (int j = 1; j < 150; j++)
{
var cell = (worksheet.Cells[i, j] as Excel.Range).Value;
if (cell == txtFind.Text.ToString())
{
MessageBox.Show("FOUND");
}
else
{
cell.FindNext();
}
}
}
你的应用程序给出了什么错误? – ElectricRouge
var cell =(worksheet.Cells [i,j] as Excel.Range).Value;在这一行上,他给出了一个错误,System.NullReferenceException – Jesper
可能是你的转换'因为Excel.Range'失败或在'i,j'范围内没有值。通过保持中断点来检查你得到这个错误的范围。 – ElectricRouge