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\");
但是它也在做同样的事情。
我已经到了最后期限,所以我想必须开始手动复制,粘贴和保存:(
没有找到相关结果
已邀请:
1 个回复
细瑞
在这里,但是如果假设
是工作表是正确的,请尝试
或者,如果
成为范围,请尝试