除非手动更改,否则ExcelDNA RTD不会更新新值

时间:2014-06-02 21:07:50

标签: c# xml excel excel-dna rtd

我在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

知道我在这里做错了吗?

撞墙。

0 个答案:

没有答案