Я написал некоторый код, который считывает каждую строку в файле Excel (для двух определенных столбцов), который я буду использовать позже для выполнения SQL-запроса обновления для каждой из строк со значением.
Я отобразил эти значения в списке, и я получаю гораздо больше нулей, чем ожидалось, при сравнении с кодами запасов в файле Excel.
Я попытался изменить форматирование файла excel, но это не имело никакого значения. Есть строки, в которых определенно есть биржевые коды в этой позиции, но когда программа выполняет сравнение ячеек, программа идентифицирует их как нулевые, когда они действительно имеют значения.
Кто-нибудь знает, в чем проблема с моим кодом?
private void btnStockCodes_Click(object sender, RoutedEventArgs e)
{
string file = @"\\amn-fs-01\users$\Shanel\Desktop\Stock Codes.xlsx";
Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
Workbook ExcelWorkbook = ExcelApp.Workbooks.Open(file);
Worksheet ews = ExcelApp.ActiveWorkbook.Sheets[1];
Microsoft.Office.Interop.Excel.Range usedRange = ews.UsedRange;
int TotalCounter = 0;
string StockCode = "";
string ReserveID = "";
int nullcounter = 0;
int foundcounter = 0;
foreach (Microsoft.Office.Interop.Excel.Range row in usedRange.Rows)
{
StockCode = "";
ReserveID = "";
TotalCounter = TotalCounter + 1;
if (row.Cells[TotalCounter,7].Value == null)
{
Listbox1.Items.Add(TotalCounter + " null");
nullcounter = nullcounter + 1;
}
else
{
StockCode = row.Cells[TotalCounter,7].Value.ToString();
ReserveID = row.Cells[TotalCounter, 3].Value.ToString();
Listbox1.Items.Add(TotalCounter + " " + StockCode + " " + ReserveID);
foundcounter = foundcounter + 1;
}
}
txtTotal1.Text = foundcounter.ToString() + " Found";
txtTotal2.Text = nullcounter.ToString() + " Null Values";
txtTotal3.Text = TotalCounter.ToString() + " Total Records";
}