使用图片

时间:2016-02-25 20:58:22

标签: c# excel-interop

我尝试在C#中将两个Excel模板合并在一起。除了第二个模板中未合并的图片外,一切正常。

我使用以下步骤来实现我的目标:

  1. 加载第一个模板
  2. 将内容添加到第一个模板
  3. 加载第二个模板
  4. 在剪贴板中复制模板的内容
  5. 将剪贴板的内容粘贴到当前的Worksheet
  6. 可悲的是,我无法控制模板本身,因为它们是由客户提供的,我无法更改它们。

    以下是代码:

    public static void MergeTemplates()
    {
        ExcelApp app = new ExcelApp();
        var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
        app.Workbooks.Open($"{path}\\Excel1.xltx", true);
        var workbook = app.Workbooks[1];
        var sheet = workbook.Worksheets[1];
        sheet.Range["A1"].Value = "Sometext";
    
        //Loading the second template, which has images.
        var xlTemp = app.Workbooks.Open($"{path}\\Excel2.xltx", true);
        var xlSheetTemp = xlTemp.Worksheets[1];
    
        xlSheetTemp.Range["A1", "C10"].Copy();
    
        //Add the second template at the end of the first
        sheet.Range["A2","C11"].PasteSpecial();
    
        xlTemp.Close();
    
        workbook.SaveAs($"{path}\\Test.xlsx");
        workbook.Close();
        app.Quit();
    }
    

    最后,Excel2.xltx的图片不会导入已保存的Test.xlsx文档中。

    如何合并两个模板以便包含图像?

0 个答案:

没有答案