Spread Studio for .NET使用教程:复制并插入工作表
用户可以复制和插入一个工作表到同一个Spread组件或窗体中的另一个Spread组件。没有内置工作表复制方式,但是可以使用下面的代码方法轻松创建自己的CopySheet方法。复制一个表并将之插入到组件中,只需创建一个新的方法,命名为CopySheet,如下所示,然后使用SheetViewCollection类中的Add或者Insert方法。
在调用CopySheet之后,使用SheetViewCollection.Add或SheetViewCollection.Insert把它插入到一个Spread组件(相同的一个或一个不同的一个)。
也会在工作表中复制所有的形状。
应该注意,以这种方式复制工作表也会复制工作表中的NamedStyleCollection,并在集合中创建单独的NamedStyle对象,独立于复制,不能与复制工作表的原NamedStyleCollection共享。如果你想保持命名风格共享,您可以将您想要分享的NamedStyleCollection分配到副本的NamedStyles属性。这可以通过简单的将NamedStyleCollection分配给一个变量,然后设置NamedStyles属性为Nothing(null in C#),然后复制,然后分配变量回到NamedStyles属性。
Spread Designer可以用来在设计时复制和粘贴一个工作表。右键单击设计器中工作表标签图标弹出复制,剪切,粘贴菜单。这个SpreadActions类有剪贴复制,剪切,粘贴的选项。
》》》免费下载Spread Studio for .NET最新版
使用代码:
创建一个新的CopySheet方法用于复制表。
处理工作表命名的样式,如上所述。
调用Sheets快捷方法Add添加新的工作表或插入方法,用以插入工作表到组件的SheetViewCollection。
示例:
下面是CopySheet方法的代码:
C#
public FarPoint.Win.Spread.SheetView CopySheet(FarPoint.Win.Spread.SheetView sheet) { FarPoint.Win.Spread.SheetView newSheet = null; if (sheet != null ) { newSheet = FarPoint.Win.Serializer.LoadObjectXml(GetType(FarPoint.Win.Spread.SheetView), FarPoint.Win.Serializer.GetObjectXml(sheet, "CopySheet"), "CopySheet"); } return newSheet; }
VB
Public Function CopySheet(sheet As FarPoint.Win.Spread.SheetView) As FarPoint.Win.Spread.SheetView Dim newSheet as FarPoint.Win.Spread.SheetView = Nothing If Not IsNothing(sheet) Then newSheet = FarPoint.Win.Serializer.LoadObjectXml(GetType(FarPoint.Win.Spread.SheetView), FarPoint.Win.Serializer.GetObjectXml(sheet, "CopySheet"), "CopySheet") End If Return newSheet End Function