尝试使用EPPlus PLease读取.xls文件时出错帮助我 [英] Error when trying to read an .xls file using EPPlus PLease help me

查看:412
本文介绍了尝试使用EPPlus PLease读取.xls文件时出错帮助我的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

public DataTable getDataTableFromExcel(string path)
{   
    using (var pck = new OfficeOpenXml.ExcelPackage())
    {
        using (var stream = File.OpenRead(path))
        {
            pck.Load(stream);
        }
        var ws = pck.Workbook.Worksheets.First();
        DataTable tbl = new DataTable();
        bool hasHeader = true; 
        foreach (var firstRowCell in ws.Cells[1, 1, 1, ws.Dimension.End.Column])
        {
            tbl.Columns.Add(hasHeader ? firstRowCell.Text : string.Format("Column {0}", firstRowCell.Start.Column));
        }
        var startRow = hasHeader ? 2 : 1;
        for (var rowNum = startRow; rowNum <= ws.Dimension.End.Row; rowNum++)
        {
            var wsRow = ws.Cells[rowNum, 1, rowNum, ws.Dimension.End.Column];
            var row = tbl.NewRow();
            foreach (var cell in wsRow)
            {
                row[cell.Start.Column - 1] = cell.Text;
            }
            tbl.Rows.Add(row);
        }
       
        return tbl;
    }
}

推荐答案

如评论中所述,EPPlus不支持 .xls 文件。它只支持较新的 .xlsx 文件。



打开一个旧的 .xls 文件,您需要使用不同的库 - 例如, NPOI [ ^ ]。
As mentioned in the comments, EPPlus does not support .xls files. It only supports the newer .xlsx files.

To open an old .xls file, you'll need to use a different library - for example, NPOI[^].


这篇关于尝试使用EPPlus PLease读取.xls文件时出错帮助我的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆