在单个Excel文件中合并并打开多个xml文件

本文关键字:文件 xml 合并 单个 Excel | 更新日期: 2023-09-27 18:32:05

目前我已经在MS Office Excel中打开了一个xml文件。但是现在我想在单个工作表中的单个MS Office Excel中打开多个xml文件。(表示 xml 文件有多个文件路径)

是否可以在不保存另一个新文件的情况下执行此操作?(我只想打开并显示给用户)

我尝试使用不同的文件路径编写代码,但最终同时打开了 2 个 excel 文件。

做了很多研究,但不幸的是我找不到任何符合我要求的文章。我真的需要帮助,所以只会在这里发帖。谢谢。

我的代码后面:

var application = new Excel.Application();
object missing = System.Reflection.Missing.Value;
application.Workbooks.OpenText(
                    filePath,
                    missing,
                    1,
                    missing,
                    Excel.XlTextQualifier.xlTextQualifierNone,
                    missing,
                    missing,
                    missing,
                    true,
                    missing,
                    missing,
                    missing,
                    missing,
                    missing,
                    missing,
                    missing,
                    missing,
                    missing
                    ); 

在单个Excel文件中合并并打开多个xml文件

我已经使用以下代码解决了我的问题。filePath 是包含所选 xml 文件的所有文件路径的列表。

string fileToOpen = filePath[0].ToString();
string tempFile = Path.GetTempFileName();
if (filePath.Count > 1)
{
     XDocument merged = new XDocument(new XElement("root"));
     for (int i = 0; i < filePath.Count; i ++)
     {
         XDocument doc = XDocument.Load(filePath[i]);
         merged.Root.Add(XDocument.Load(filePath[i]).Root);
     }
     merged.Save(tempFile);
     fileToOpen = tempFile;
}
var application = new Excel.Application();
object missing = System.Reflection.Missing.Value;
application.Workbooks.OpenText(
                    fileToOpen,
                    missing,
                    1,
                    missing,
                    Excel.XlTextQualifier.xlTextQualifierNone,
                    missing,
                    missing,
                    missing,
                    true,
                    missing,
                    missing,
                    missing,
                    missing,
                    missing,
                    missing,
                    missing,
                    missing,
                    missing
                    );