我創建了我自己的搜索並用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