使用EPPlus将所有列名迭代并添加到ComboBox

我需要将表单中的列名称添加到combobox

我已经尝试了以下

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

但是这会产生一个空引用exception。

请指教。

确保您正确加载包并正确select值:

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

这可以在每张工作表的两个工作表和值都在一个新的工作簿中正确运行。