C# 无法使用ExcelRange.ToArray<&燃气轮机;()在ePlus中

C# 无法使用ExcelRange.ToArray<&燃气轮机;()在ePlus中,c#,epplus,toarray,C#,Epplus,Toarray,我正在使用ePlus,似乎无法使ToArray方法正常工作。我试图在工作表中提取列标题的字符串变量数组 我的代码 public static string[] GetWshHeaders(string WbkNm) { using (ExcelPackage package = new ExcelPackage(new FileInfo(WbkNm))) { ExcelWorksheet wsData = package.W

我正在使用ePlus,似乎无法使ToArray方法正常工作。我试图在工作表中提取列标题的字符串变量数组

我的代码

    public static string[] GetWshHeaders(string WbkNm)
    {
        using (ExcelPackage package = new ExcelPackage(new FileInfo(WbkNm)))
        {
            ExcelWorksheet wsData = package.Workbook.Worksheets.First();
            int noHdrs = wsData.Dimension.Columns;
            ExcelRange hdrs = wsData.Cells[1, 1, 1, noHdrs];
            string[] wsHdrs = hdrs.ToArray<string>();
            return wsHdrs;
        }
    }
publicstaticstring[]GetWshHeaders(stringwbknm)
{
使用(ExcelPackage package=新的ExcelPackage(新文件信息(WbkNm)))
{
Excel工作表wsData=package.Workbook.Worksheets.First();
int noHdrs=wsData.Dimension.Columns;
ExcelRange hdrs=wsData.Cells[1,1,1,noHdrs];
字符串[]wsHdrs=hdrs.ToArray();
返回WSHDR;
}
}
Intellisense在行字符串[]wsHdrs=hdrs.ToArray()中标记hdrs变量;。消息为:“ExcelRange”不包含“ToArray”的定义,并且最佳扩展方法重载“Enumerable.ToArray(IEnumerable)”需要类型为“IEnumerable”的接收器

我已经尝试过上述代码的各种变体,但是,如果我找到了正确的语法,我就不会发布这个问题了


任何帮助都将不胜感激

ExcelRange
ExcelRangeBase
作为基类,声明如下:

public class ExcelRangeBase : ExcelAddress, IExcelCell, IDisposable, IEnumerable<ExcelRangeBase>, IEnumerator<ExcelRangeBase>
{
....
}
上面的内容将为您提供要查找的字符串数组,但请记住,您正在丢失信息,因为
Value
可以是数字类型和字符串的混合体。如果你只对打印内容感兴趣,比如说,这不是问题。如果您计划以某种方式将它们写回excel,您将拥有字符串形式的所有内容

string[] wsHdrs = hdrs
    .Select(erb => erb.Value.ToString())
    .ToArray();