По сути, у меня есть файл Excel с большим количеством таблиц, когда одна из этих таблиц имеет ссылку на другую таблицу, но ссылка является пустой ячейкой, например, ячейка «C5» в таблице «Пример» содержит ссылку наячейка «J10» на листе «RefEx», если ячейка «J10» пуста, ячейка «C5» будет пустой, но не будет пустой, поскольку она все еще содержит ссылку, и поэтому я не могу вставить ее в свойбазы данных, потому что мне нужно вставить ее в виде десятичной дроби (пустые строки вставляются как 0,00).
Это работает и будет вставлять 0,00 в пустые ячейки со ссылками, пока я изменяю форматирование столбцовкоторые имеют эти ссылки, но это большая ручная работа с количеством листов, которые у меня есть, и будет иметь.
Есть ли способ сделать эти поля пустыми или, по крайней мере, просто сделать их 0, не касаясьфайл Excel?
Единственное, что я нахожу странным, это то, что я могу легко читать ячейки как строки, они просто будут казаться пустыми, но как только я попытаюсьчтобы изменить их на десятичные, возникает ошибка.
Вот как я подключаюсь и запрашиваю файл Excel:
string pathToExcelFile = @"D:\Programming Tools\Visual Studio\Projects\KPIimport\SampleXLSFile.xls";
ConnectionExcel ConObject = new ConnectionExcel(pathToExcelFile);
var query2 = from a in ConObject.UrlConnection.Worksheet<Product>("Sample-spreadsheet-file") select a;
И мой класс:
class Product {
public string ItemName {
get;
set;
}
public string DogName {
get;
set;
}
public string FatDog {
get;
set;
}
Игде ошибка происходит в моем коде, потому что он ожидает строку, которую он может преобразовать в десятичные дроби, но ссылка путается с этим:
command.Parameters.AddWithValue("@ItemName", item.ItemName);
command.Parameters.AddWithValue("@DogName", item.DogName);
command.Parameters.AddWithValue("@FatDog", Convert.ToDecimal(item.FatDog));
Благодаря Caius Jard это было исправлено с помощью:
private string _fatDog;
public string FatDog {
get {
if(_fatDog == null) {
return "0";
} else if(_fatDog == "") {
return "0";
} else if(_fatDog == "-"))
return "0";
} else {
return _fatDog;
}
}
set {
_fatDog = value;
}
}