gpt4 book ai didi

c# - 使用 Excel Interop 的 set_Value(XLRangeValueDataType.XLRangeValueMSPersistXML,object) 时出错

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:53 34 4
gpt4 key购买 nike

我在范围内使用 Excel Interops set_Value 时遇到错误。任何帮助/建议都是有值(value)的。

这是失败的代码。

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application xlApp = new Excel.ApplicationClass();
Excel.WorkBook WB = xlApp.Workbooks.Add(Type.Missing);
Excel.WorkSheet WS = WB.Sheets[1] as Excel.WorkSheet;
object obj = (WS.get_Range("A1:D10") as Excel.Range).get_Value(Excel.XLRangeValueDataType.XLRangeValueMSPersistXML);

(WS.get_Range("A1:D10") as Excel.Range).set_Value(Excel.XLRangeValueDataType.XLRangeValueMSPersistXML,obj);

这里的代码失败了。我设置的对象值与我从 excel 范围中获得的对象值相同。显示的异常是 System.NotImplementedException。

如果办公室互操作不支持 XLRangeValueMSPersistXML,同时将值设置回 excel 范围,我现在一无所知。

最佳答案

设置值时,您似乎应该放弃 RangeValueDataType 设置。以下代码不会导致抛出 NotImplementedException。 (它还纠正了一些阻止您的原始示例编译的大小写问题,并对其进行了一些整理。)

using Excel = Microsoft.Office.Interop.Excel;
Excel.Application xlApp = new Excel.ApplicationClass();
Excel.Workbook WB = xlApp.Workbooks.Add(Type.Missing);
Excel.Worksheet WS = WB.Sheets[1] as Excel.Worksheet;
Excel.Range r = WS.Range["A1:D10"];
var obj = r.Value[Excel.XlRangeValueDataType.xlRangeValueMSPersistXML];
r.Value = obj;

关于c# - 使用 Excel Interop 的 set_Value(XLRangeValueDataType.XLRangeValueMSPersistXML,object) 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2906664/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com