Я использую Excel Data Reader прочитать некоторые данные с Entity Framework DatabaseExcel данных, имена столбцов и выбора листа
Приведенный ниже код работает, но мне нужны некоторые дополнительные уточнения
Прежде всего IsFirstRowAsColumnNames, похоже, не работает должным образом, и я должен использовать .Read вместо этого.
У меня было изначально, чтобы выбрать конкретный лист, был scuppered планы, может ли кто-нибудь помочь с этим excelReader.Name в данный момент бессмысленно, если я не могу специально пропустить или выбрать лист, который я изначально использовал. для достижения этого конфликта.
Также было бы полезно обратиться к фактическим именам заголовков столбцов, чтобы получить данные, а не индексы, такие как var name = reader ["applicationname"]. ToString() в SQL-клиенте;
Возможно ли лучшее расширение, которое я мог бы использовать для чтения в данных Excel, если я не могу достичь вышеуказанного.
public static void DataLoadAliases(WsiContext context)
{
const string filePath = @"Alias Master.xlsx";
var stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
var excelReader = filePath.Contains(".xlsx")
? ExcelReaderFactory.CreateOpenXmlReader(stream)
: ExcelReaderFactory.CreateBinaryReader(stream);
excelReader.IsFirstRowAsColumnNames = true;
excelReader.Read(); //skip first row
while (excelReader.Read())
{
if (excelReader.Name == "Alias Master")
{
var aliasId = excelReader.GetInt16(0);
var aliasName = excelReader.GetString(1);
//Prevent blank lines coming in from excel;
if (String.IsNullOrEmpty(aliasName)) continue;
context.Aliases.Add(new ApplicationAlias
{
AliasId = aliasId,
Name = aliasName,
});
}
else
{
excelReader.NextResult();
}
}
excelReader.Close();
context.SaveChanges();
}
PS. Я пытаюсь использовать DataSets, но не знаю, как это можно использовать для моей выгоды. – Frazer