Win Forms的编译错误无法明确调用运算符或访问器

时间:2018-09-24 23:01:18

标签: c# epplus

我正在为我的C#Win Forms项目使用EPPlus库,但遇到此错误:

  

'ExcelPackage.Workbook.get':无法显式调用运算符或访问器

在这一行代码上:(get_workbook和get_name是引发错误的原因)

    str = str.Trim(new char[] { '\'' }).Replace("\\", "").Replace("/", "").Replace("*", "").Replace("[", "").Replace("]", "").Replace(":", "").Replace("?", "");
using (ExcelPackage excelPackage = new ExcelPackage(new FileInfo(saveFile)))
{
    if (excelPackage.get_Workbook().get_Worksheets().Any<ExcelWorksheet>((ExcelWorksheet w) => w.get_Name() == str))
    {
        excelPackage.get_Workbook().get_Worksheets().Delete(str);
    }
}

我打错了什么,应该如何更新?

1 个答案:

答案 0 :(得分:1)

不要那样访问属性。在EPPlus中,您可以仅引用WorkbookWorksheets属性。另外,我认为您尝试使用字符串删除WorkSheet时会遇到问题。

假设您最多可以有一个与名称完全匹配的工作表,请尝试以下方法:

var matchingWorksheet = excelPackage.Workbook.Worksheets.SingleOrDefault(w => w.Name == str);

if (matchingWorksheet != null)
{
    excelPackage.Workbook.Worksheets.Delete(matchingWorksheet);
}