我在TestRTD.dna
使用名为...\Dsitrbution\Samples\RTD\
的cookie-cutter excelDNA解决方案。
我将GetEurOnd()
扩充为:
public static object getTestObject(String arg){
return GetTestItem(arg);
}
GetTestItem()
未改变的地方。
我的XML格式如下:
<?xml version="1.0" encoding="utf-8"?>
<ISIN>
<US05574LFY92>
<ID_ISIN>US05574LFY92</ID_ISIN>
<A>40</A>
<B>100.089004516602</B>
<C>11:22:48.000</C>
</US05574LFY92>
</ISIN>
所以我的公式在excel中看起来像这样:
=getTestObject("ISIN/US002799AM62/A")
返回40
。太好了!
现在,我正在全天运行代码,使用以下方法更新xml中的值:
using (XmlWriter writer = XmlWriter.Create(recordPath))
{
writer.WriteStartDocument();
writer.WriteStartElement("ISIN");
foreach (rtTrace.dataObj d in lines)
{
writer.WriteStartElement(d.ID_ISIN);
writer.WriteElementString("ID_ISIN", d.ID_ISIN);
writer.WriteElementString("A", d.A);
writer.WriteElementString("B", d.B);
writer.WriteElementString("C", d.C);
if (!tmp.ContainsKey(d.ID_ISIN))
{
tmp.Add(d.ID_ISIN, "");
}
writer.WriteEndElement();
}
}
成功 DOES 更新了我的XML文件中的值,但excel中的公式仍显示旧值。
如果我进入我的XML文件并更新值 MANUALLY,那么新值将流入excel 。
知道我在这里做错了吗?
撞墙。