我尝试在C#中将两个Excel模板合并在一起。除了第二个模板中未合并的图片外,一切正常。
我使用以下步骤来实现我的目标:
Worksheet
可悲的是,我无法控制模板本身,因为它们是由客户提供的,我无法更改它们。
以下是代码:
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
文档中。
如何合并两个模板以便包含图像?