2015-03-25 2 views
1

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

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>(); 
    } 
    } 
} 

ответ

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>(); 
     } 
    } 
} 
Смежные вопросы