找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng 讲师达人认证 悬赏达人认证

超级版主

299

主题

7874

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
13131

活字格认证圣诞拼拼乐微信认证勋章讲师达人元老葡萄悬赏达人

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-27 10:15  /   查看:6896  /  回复:4
在Spread产品的FarPoint.Win.Serializer命名空间中提供了LoadObjectXml和GetObjectXml方法,通过这两个方法可以实现创建SheetView副本的功能,代码如下:
  1.     public FarPoint.Win.Spread.SheetView CopySheet(FarPoint.Win.Spread.SheetView sheet)
  2.     {
  3.         FarPoint.Win.Spread.SheetView newSheet = null;
  4.         if (sheet != null)
  5.         {
  6.             newSheet = FarPoint.Win.Serializer.LoadObjectXml(typeof(SheetView), FarPoint.Win.Serializer.GetObjectXml(sheet, "CopySheet"), "CopySheet") as SheetView;
  7.             newSheet.SheetName = "NewSheet";
  8.         }
  9.         return newSheet;
  10.     }
复制代码


在使用Spread产品中,我们可以借助该功能来实现更多特殊需求的操作,比如打印相关功能:
1、Spread文档中本身设置了某些单元格的背景色,但是在打印时不需要打印这些颜色
2、打印时不需要打印列头、行头的样式,只需要打印成成白色背景,黑色字体的。

类似这些不能直接修改原有SheetView的操作,都可以先创建一个SheetView的副本,如何对副本进行操作。

copy.png

源码下载:VS2010 + Spread for WinForms 6.0
5381_Print.zip (9.98 KB, 下载次数: 670)

4 个回复

倒序浏览
xiwu
中级会员   /  发表于:2012-8-8 18:19:00
沙发
上面的代码有没有漏洞啊?今天用时出现异常
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-8-8 18:26:00
板凳
你好 xiwu

你是直接运行上面的工程吗,能否将错误信息截图发来看一看。
回复 使用道具 举报
xiwu
中级会员   /  发表于:2012-8-10 20:53:00
地板
是的,不过那个问题也不是经常出现,可能要在特定的情况下才会出现,,之前出现问题,好像是说未序列化什么的,记不太清楚了
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-8-16 11:27:00
5#
我这边执行这个例子,确实没有出现这个问题,如果你有错误信息,可以发给我们分析一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部