EPPlus для чтения 1-го столбца Excel в массив

Используйте OpenFileDialogс EPPlus. Я получаю ошибку компиляции:

The name 'sheet' does not exist in the current context

Теперь очевидная проблема заключается в том, как мне связать выбранный файл Excel с моим EPPPlus и 2. Что мне делать, чтобы удалить указанную выше ошибку?

using OfficeOpenXml;
using OfficeOpenXml.Drawing;

private void btn_ReadExcelToArray_Click(object sender, EventArgs e)
{
  fd.Filter = "Excel Files|*.xlsx";
  fd.InitialDirectory = @"C:\";
  if (fd.ShowDialog() == DialogResult.OK)
  {          
    var columnimport = sheet.Cells["A2:A"];
    foreach (var cell in columnimport)
    {
        var column1CellValue = cell.GetValue<string>();
    }
  }
}

person Big Pimpin    schedule 25.03.2015    source источник


Ответы (1)


Вы довольно близко. Все, что вам нужно сделать, это создать пакет на основе потока (или вы можете использовать перегрузку fileinfo — в любом случае). Так:

var fd = new OpenFileDialog();
fd.Filter = "Excel Files|*.xlsx";
fd.InitialDirectory = @"C:\Temp\";

if (fd.ShowDialog() == DialogResult.OK)
{
    using (var package = new ExcelPackage(fd.OpenFile()))
    {
        var sheet = package.Workbook.Worksheets.First();
        var columnimport = sheet.Cells["A2:A"];
        foreach (var cell in columnimport)
        {
            var column1CellValue = cell.GetValue<string>();
        }
    }
}
person Ernie S    schedule 25.03.2015