我正在为我的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);
}
}
我打错了什么,应该如何更新?
答案 0 :(得分:1)
不要那样访问属性。在EPPlus中,您可以仅引用Workbook
和Worksheets
属性。另外,我认为您尝试使用字符串删除WorkSheet
时会遇到问题。
假设您最多可以有一个与名称完全匹配的工作表,请尝试以下方法:
var matchingWorksheet = excelPackage.Workbook.Worksheets.SingleOrDefault(w => w.Name == str);
if (matchingWorksheet != null)
{
excelPackage.Workbook.Worksheets.Delete(matchingWorksheet);
}