usando el paquete nuget ExcelDataReader v.2.1.0
Boton de cargar excel:
using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "call_center|*.xlsx",ValidateNames = true }) { if (ofd.ShowDialog() == DialogResult.OK) { FileStream fs = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read); IExcelDataReader reader = ExcelReaderFactory.CreateBinaryReader(fs); reader.IsFirstRowAsColumnNames = true; result = reader.AsDataSet(); cmbTables.Items.Clear(); foreach(DataTable dt in result.Tables) { cmbTables.Items.Add(dt.TableName); reader.Close(); } } }
Combo donde muestro las tablas:
private void cmbTables_SelectedIndexChanged(object sender, EventArgs e) { dataLlamadas.DataSource = result.Tables[cmbTables.SelectedIndex]; }
El problema es que me marca:
System.NullReferenceException: 'Referencia a objeto no establecida como instancia de un objeto.'
Error ocacionado en:
foreach(DataTable dt in result.Tables)
El archivo actualmente tiene información.