标签:c excel excel-vba vba epplus
我想使用EPPlus输入数据并进行计算.
这是我的代码:
ExcelWorksheet sheet = ep.Workbook.Worksheets["input"];
sheet.Cells[1, 1].Value = 10;
ep.Workbook.Calculate();
string test = sheet.Cells[1, 5].Text;
ep.Save();
字符串测试是“#NAME?”
似乎EPPlus没有加载用户定义功能.
当我打开保存的文件时,计算将自动完成.
我该怎么做才能使用户定义的功能工作?
(我稍后会在ASP.NET中使用此功能来调用存在的excel文件中的用户定义函数.我尝试过Interop,它可以实现我想要的,但速度要慢很多.)
谢谢!
解决方法:
EPPlus中的公式计算引擎无法在工作簿中执行VBA函数.它支持约. 150个常见的内置Excel公式,仅此而已.
但是,您可以在.NET代码中实现VBA功能.每个函数都应该继承EPPlus类ExcelFunction,并通过Workbook.FormulaParserManager注册到EPPlus,给出与VBA函数相同的函数名.
在EPPlus示例项目中有一些示例说明了这一点(创建自定义函数),可以从Codeplex下载.
对于4.1版,您可以在此处下载解决方案“带样本的EPPlus”:
https://epplus.codeplex.com/releases/view/625020
然后转到“EPPlusSamples”项目并查看SampleAddFormulaFunction.cs
标签:c,excel,excel-vba,vba,epplus 来源: https://codeday.me/bug/20190627/1309680.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。