Я получаю лист Excel в таблицу данных следующим образом
string excelAddressListPath = basePath + "/PROPERTIES.xlsx";
if (!File.Exists(excelAddressListPath))
{
Console.WriteLine("Missing dependency address file DB, exiting....");
System.Environment.Exit(-1);
}
DataTable dt;
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
using (var stream = File.Open(excelAddressListPath, FileMode.Open, FileAccess.Read))
{
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
var conf = new ExcelDataSetConfiguration
{
ConfigureDataTable = _ => new ExcelDataTableConfiguration
{
UseHeaderRow = true
}
};
var dataSet = reader.AsDataSet(conf);
dt = dataSet.Tables[0];
}
}
Тогда я получаю данные в функции
string GetAddressFromDataTable(DataTable dt, string uprn)
{
string address = "";
Console.WriteLine(uprn);
foreach (DataRow row in dt.Select($"[Property Reference] = '{uprn}'"))
{
address = row["Property Address"].ToString();
}
return address;
}
Что я называю следующим образом
string address = GetAddressFromDataTable(dt, uprn.ToUpper());
Console.WriteLine($"From DB: {address}");
Все работает хорошо, когда ссылка на свойство имеет номер 12345, но не работает, если она содержит такие символы, как B12345.
Я пробовал разные способы, но, как я думаю все уже строка, я не могу понять свою ошибку
ошибка ниже
Cannot perform '=' operation on System.Double and System.String.
Подробнее здесь: https://stackoverflow.com/questions/781 ... racters-an