我错过了.Cells
的一个引用,图片显示了我尝试过的所有引用。我还在哪一个?
答案 0 :(得分:1)
您似乎对ExcelPackage
项目和EPPlus
项目感到困惑。我可以看到他们如何分享名称空间和类名(我不知道他们是否相关的历史)。
您的示例中引用了ExcelPackage
dll。 ExcelWorksheet
课程没有Cells
属性;相反,它有一个Cell
方法。
EPPlus
中的ExcelWorksheet
类具有Cells
属性,该属性返回ExcelRange
。 ExcelRange
反过来有一个看起来像这样的索引器,它允许你必须使用的代码:
public ExcelRange this[int Row, int Col]
要使用ExcelPackage
让代码正常工作,您需要更改为使用以下方法:
worksheet.Cell(row, col).Value = (row * col).ToString();
请注意,Value
属性为string
,因此我正在调用ToString()
如果您希望保留代码,可以删除对ExcelPackage
的引用,并添加对EPPlus
的引用(可在Nuget上找到)。我不知道哪个更好,但是针对两者运行代码(使用ExcelPackage
版本的上述修复)在Excel中加载由ExcelPackage
创建的文件时会发出警告但是它没有t为通过EPPlus
创建的那个。