C# 无法使用ExcelRange.ToArray<&燃气轮机;()在ePlus中
我正在使用ePlus,似乎无法使ToArray方法正常工作。我试图在工作表中提取列标题的字符串变量数组 我的代码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
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();