using (OpenFileDialog fd = new OpenFileDialog()) { fd.Filter = "Excel 2007文件(*.xlsx)|*.xlsx|所有文件(*.*)|*.*"; if (fd.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { try { using (ExcelPackage pack = new ExcelPackage(new FileInfo(fd.FileName))) { ExcelWorksheet sheet = pack.Workbook.Worksheets[1]; var rowCount = sheet.Dimension.End.Row; var columnCount = sheet.Dimension.End.Column; DataTable dt = new DataTable(); for (int j = 1; j <= columnCount; j++) { dt.Columns.Add("A" + j.ToString()); } for (int i = 1; i <= rowCount; i++) { dt.Rows.Add(dt.NewRow()); for (int j = 1; j <= columnCount; j++) { dt.Rows[i - 1][j - 1] = sheet.Cells[i, j].Value; } } dataGridView1.DataSource = dt; } } catch (Exception ex) { MessageBox.Show(this, ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
需要注意的是,Epplus 开源免费,但只支持 Excel 2007 或更高版本