交互操作.Excel定位和范围.公式vs公式本地
本文关键字:vs 公式 范围 互操作 Excel 定位 交互 | 更新日期: 2023-09-27 18:14:21
我试图使用互操作生成excel文件。Excel,但我有两个本地化,我需要运行我的WPF应用程序。
de-DE和en-US
对于本地化DE -DE,我的程序工作正常(也DE MS Office安装在我的笔记本电脑上),但是当我试图在en-US服务器上运行它时,我有问题。
下面是一段源代码:
cell = "K" + rowCounter;
Excel.Range ThisRange = xlWorkSheet.get_Range(cell, System.Type.Missing);
string myFunction;
if (Thread.CurrentThread.CurrentUICulture.IetfLanguageTag == "de-DE")
{
myFunction = "=+WENN(I" + rowCounter + "<=J" + rowCounter + ";J" + rowCounter + "-I" + rowCounter + ";'"24:00'"+(J" + rowCounter + "-I" + rowCounter + "))";
ThisRange.FormulaLocal = myFunction;
}
else
{
myFunction = "=+IF(I" + rowCounter + "<=J" + rowCounter + ";J" + rowCounter + "-I" + rowCounter + ";'"24:00'"+(J" + rowCounter + "-I" + rowCounter + "))";
ThisRange.Formula = myFunction;
}
我总是得到这样的异常:
Exception: System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC at System.RuntimeType. comForwardCallToInvokeMember(String memberName, BindingFlags, Object target, Int32[] aWrapperTypes, MessageData&Microsoft.Office.Interop.Excel.Range. msgData)。set_Formula(对象值)
当识别不同的本地化时,我也尝试将本地化更改为de-DE -没有帮助。
你知道哪里出了问题吗?
提前感谢。
根据Axel的注释,问题出在分隔符:
范围。公式要求,
范围。formulallocal 要求;
我已经在我的源代码中修复了这个问题,现在它工作得很好