使用EPPlus

时间:2017-07-05 13:09:00

标签: c# .net excel spreadsheet epplus

我需要将工作表中的列名添加到组合框

我试过以下

 var pck = new OfficeOpenXml.ExcelPackage();
            pck.Load(new System.IO.FileInfo("test.xlsx").OpenRead());
            var ws = pck.Workbook.Worksheets[1];

            int totalCols = ws.Dimension.End.Column;

            for (int i = 1; i <= totalCols; i++)
            {
              comboBox1.Items.Add(  (ws.Column(i).ToString()));
            }
        }

但是这会产生一个Null Reference Exception。

请建议。

1 个答案:

答案 0 :(得分:1)

确保您正确加载包并正确选择值:

// Select workbook
var fileInfo = new FileInfo(@"yourfile.xlsx");

// Load workbook
using (var package = new ExcelPackage(fileInfo)) {
// Itterate through workbook sheets
    foreach (var sheet in package.Workbook.Worksheets){
// Itterate through each column until final column
        for (int i = 1; i <= sheet.Dimension.End.Column; i++) {
            comboBox1.Items.Add(sheet.Cells[1, i].Text);
        }
    }
}

这在新工作簿中正确运行,每张工作表的列中包含两个工作表和值。