Excel模板:合并数据并保存工作簿

| 我是第一次尝试使用Excel Interop,并且在飞行中遇到麻烦。 我有一个Excel模板,其中包含一张工作表,这是一份评估表,另一张工作表,其中包含有关如何进行评估的指导说明。 我还有一个XML文件,其中包含正在评估的项目的详细信息。 我需要将项目标题,应用程序编号和公司名称合并到第一张工作表中,然后将工作表保存为文件名[Application No]-[Project Title] .xlsx。 第一部分工作正常。我已经加载了XML,并且代码正在将数据放入应有的表格中。 我的问题是节省部分。我找到了.SaveAs方法,它创建了几个文件...但是它们无法打开。然后,我得到一个HRESULT错误0x800A03EC-搜索网络对此没有任何解释。告诉我this.SaveAs()是指工作表,而不是工作簿,但我只是在猜测。 我希望我做了一些愚蠢的事情,这很容易解决。 供参考的是我的代码,但是就像我说的那样,我不确定它的用处。
    private void MergeData()
    {
        doc.Load(@\"C:\\XML Data\\source.xml\");

        XmlNodeList forms = doc.SelectNodes(\"//form1\");

        for (int i = 0; i < forms.Count; i++)
        {
            XmlNodeList nodes = forms[i].ChildNodes;

            string refNo = nodes[0].InnerText.ToString();
            string companyName = nodes[3].InnerText.ToString();
            string title = nodes[1].InnerText.ToString();

            this.Cells[9, 4] = title;
            this.Cells[11, 4] = refNo;
            this.Cells[14, 4] = companyName;


            this.SaveAs(@\"C:\\Assessment Forms\\\" + refNo + \" - \" + title + \".xlsx\");
        }
    }
有谁知道如何保存这些文件? 谢谢阅读 编辑 - 我找到了这篇文章 C#和Excel Interop问题,保存Excel文件不顺利 并更改了代码以包含其建议
Excel.Application app = this.Application;
Excel.Workbook wb = app.Workbooks.Add(missing);
wb.SaveAs(@\"C:\\Assessment Forms\\\" + refNo + \" - \" + title + \".xlsx\");
但是它也在做同样的事情。 我已经到了最后期限,所以我想必须开始手动复制,粘贴和保存:(     
已邀请:
不确定对象
this
在这里,但是如果假设
this
是工作表是正确的,请尝试
this.Parent.SaveAs
或者,如果
this
成为范围,请尝试
this.Worksheet.Parent.SaveAs
    

要回复问题请先登录注册