当启用编辑模式关闭时,EPPLUS找不到纸张

时间:2016-12-15 01:07:26

标签: c# excel c#-4.0 openxml epplus

我正在尝试读取excel并将其转换为数据表。

以下是代码。

 public static DataTable GetDataTableFromExcel(string path, bool hasHeader = true)
        {
            using (var pck = new OfficeOpenXml.ExcelPackage())
            {
                using (var stream = System.IO.File.OpenRead(path))
                {
                    pck.Load(stream);
                }

                var worksheet = pck.Workbook.Worksheets["Table1"];

             //   var ws = pck.Workbook.Worksheets.First();
                DataTable tbl = new DataTable();
                foreach (var firstRowCell in pck.Workbook.Worksheets.FirstOrDefault().Cells[1, 1, 1, pck.Workbook.Worksheets.FirstOrDefault().Dimension.End.Column])
                {
                    tbl.Columns.Add(hasHeader ? firstRowCell.Text : string.Format("Column {0}", firstRowCell.Start.Column));
                }
                var startRow = hasHeader ? 2 : 1;
                for (int rowNum = startRow; rowNum <= pck.Workbook.Worksheets.FirstOrDefault().Dimension.End.Row; rowNum++)
                {
                    var wsRow = pck.Workbook.Worksheets.FirstOrDefault().Cells[rowNum, 1, rowNum, pck.Workbook.Worksheets.FirstOrDefault().Dimension.End.Column];
                    DataRow row = tbl.Rows.Add();
                    foreach (var cell in wsRow)
                    {
                        row[cell.Start.Column - 1] = cell.Text;
                    }
                }
                return tbl;
            }
        }

默认情况下我的Excel编辑模式是禁用的,所以当我在启用编辑功能时读取Excel工作表时,我会收到Object reference not set to an instance of an object错误

如果我打开excel并启用编辑模式并保存文件,现在运行我的代码就可以了。

有什么办法可以在读取excel文件时强制启用编辑功能。

请帮我解决这个问题。任何建议,将不胜感激。

由于

0 个答案:

没有答案