找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-17 10:13:00
13#
回复 10楼sakeryu的帖子

sakeryu 你好

从导出的Excel文件来看,确实没有RepeatRow属性,然而,使用Spread导出Excel文件时,如果设置了RepeatRowStart和RepeatRowEnd就应该正常导出这两个值。

现在Excel中没有这样的设置,如果只从Excel文件本身还无法找到原因,附件是我做的一个简单测试工程,设置了RepeatRowStart和RepeatRowEnd属性,然后导出为Excel文件,使用Excel打印时确实可以重复打印前六行。

现在我这边无法判断的就是,你代码中是否设置了RepeatRowStart和RepeatRowEnd,或者是以什么方式设置这两个属性,能否将你的代码发给我们看一看。我们担心的是如果通过fpSpread1.ActiveSheet.PrintInfo.RepeatRowStart方式来设置,只能设置一个SheetViewRepeatRowStart,而可能会遗忘其它SheetView的设置。

如果能将你的代码发给我们调试一下,我想调查起来会更快速些。

测试工程:VS2010 + Spread for WinForms 6.0.3505.2008 + Excel2003、Excel2007
导出的Excel使用Excel2003和2007都能够正常的在每一页重复打印前六行
5175_RepeatRow.zip (23.07 KB, 下载次数: 153)
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2012-7-17 10:09:00
12#
我们做了一个演示程序,附件中,请分析一下。

用程序打开我发的xls文件,选择表单的时候,上面文本框会显示当前表单的表头,头两张和主要指标表一都已经设置了表头的

使用保存按钮可以保存成新的xls文件,打开新的xls文件,可以发现主要指标表一的表头设置不见了。

另外,我们自己做的打印设置设置里面有一个的显示打印机对话框参数无法保存,即勾选后,打印时也不弹出打印机选择窗口。


Desktop.zip (59.82 KB, 下载次数: 160)
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-16 17:26:00
11#
sakeryu 你好

不知你是否方便留下电话号码,我想与你就该问题进行一次电话沟通。谢谢。
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2012-7-16 16:38:00
10#
我的帖子第一句就说明了excel文件的来源啊,“在我们项目里面设计好表后,保存的时候直接保存为了xls(因为spread默认的xml文件太大了),下次数据编辑再打开此xls文件。” ,就是说直接使用spread另存为excel的功能,,xls文件没有repeatrow参数,那是不是说明存为excel文件的时候参数丢失了?

可能我的原帖描述得不是很准确,烦请仔细看一下。

刚刚您也说了,“Spread正常设置RepeatRow之后导出为Excel可以看到红框中应该有相应的设置”,,是应该有,我们也觉得该有啊,关键就是没有嘛,不然怎么来求助呢?

还有先前说的  “ 既然除“主要财务指标表”外都有repeatrow的信息,那为什么excel直接打印只有“主要指标表一”会重复打印前六行,“补贴收入明细表”和“费用明细表”没有重复打印前六行呢?”  您都看见后3张表有repeatrow信息了,为什么excel打印却只有一张表可以,另外两张表不行呢?

所以这个问题和之前提的excel打印参数的问题(http://gcdn.grapecity.com/showtopic-4283.html)是不是同属于一类?很怀疑打印参数和excel的兼容性。

所以请楼主能不能想办法解决一下,现在现象就是这样的,我们只想要一个解决办法,不然没法交付项目了,:(
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-16 16:29:00
9#
您好!

Spread中的RepeatRow信息可以到到处Excel文件中。

因为现在只知道附件中的Excel文件有这样的打印行为,但是不知道该Excel文件是通过什么方式得到的。

通过Spread正常设置RepeatRow之后导出为Excel可以看到红框中应该有相应的设置,从附件中的Excel文件来看,没有这样的设置,所以通过Excel打印就没有重复打印的效果。


sprad.png
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2012-7-16 15:43:00
8#
如您说说,既然除“主要财务指标表”外都有repeatrow的信息,那为什么excel直接打印只有“主要指标表一”会重复打印前六行,“补贴收入明细表”和“费用明细表”没有重复打印前六行呢?

究竟是参数和excel不通用,还是别的什么地方出了问题?

您只是分析出了事实,但是没有告诉我结论和解决办法呀!!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-16 15:35:00
7#
回复 6楼sakeryu的帖子

我这边调试结果是这样的:

用Excel直接打印:只有“主要指标表一”会重复打印前六行

用Spread进行打印,因为都有固定行,所以,每个SheetView都会重复打印前六行

而且我用Spread打开该Excel文件时,得到的输入如下:
SheetName:主要财务指标表     FrozenRowCount:6   FrozenColumnCount:2     RepeatRowStart:-1      RepeatRowEnd:-1
SheetName:主要指标表一     FrozenRowCount:6   FrozenColumnCount:2     RepeatRowStart:0      RepeatRowEnd:5
SheetName:补贴收入明细表     FrozenRowCount:6   FrozenColumnCount:2     RepeatRowStart:0      RepeatRowEnd:5
SheetName:费用明细表     FrozenRowCount:6   FrozenColumnCount:2     RepeatRowStart:0      RepeatRowEnd:5

从以上数据来看,主要财务指标表没有设置RepeatRow相关信息。
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2012-7-16 15:05:00
6#
版主能回答一下么,谢谢!
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2012-7-13 22:26:00
5#
请问你是用的excel2003打开的这个excel文件吗?我刚刚又用03打开看了一下,每张表都是有冻结行的。但是并不是你说的“第2、3、4页在Excel中直接打印前六行都会重复打印”。我的结果是2表重复打印了前6行,但3、4并没有重复打印前6行。你可以再试试看。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-13 14:31:00
地板
首先,第一页没有设置RepeatRowStart和End所以Excel中不会重复打印前六行
而,在Spread中因为第一页设置FrozenRowCount之后,冻结行就会在每一页都打印一遍

第2、3、4页在Excel中直接打印前六行都会重复打印,所以,原因在于第1页中没有设置 RepeatRowStart 和 End,导致在Excel中不会重复打印前六行。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部