如何使用 openXML 深度克隆 .xlsx 文件中的行?

ElC*_*ado 3 c# xml excel openxml

我有 template.xlsx 文件,必须通过在特定索引中添加一行的几个副本来修改该文件。当我尝试使用克隆方法进行此操作时,我添加了一行,但每行都互相修改。我需要创建 opemxml 行对象的深度克隆,但是当我尝试此操作时,出现 openxml 行对象未序列化的错误。如何使用带有序列化的 openXML 深度克隆 .xlsx 文件中的行,或者是否有其他方法来深度克隆 openxml 行对象?

Max*_*rté 5

您可以.CloneNode(true)在 OpenXmlElement 上使用深度克隆

因此,如果您想在表中复制一行,它将看起来像

// suppose table an OpenXml Table and row the row you want to clone
table.Append(row.CloneNode(true));
Run Code Online (Sandbox Code Playgroud)

编辑:将其插入到特定行之前

// suppose r is the row you want to insert it before
r.InsertBeforeSelf(row.CloneNode(true));
Run Code Online (Sandbox Code Playgroud)