找回密码
 立即注册

QQ登录

只需一步,快速开始

sakeryu

初级会员

34

主题

122

帖子

322

积分

初级会员

积分
322

活字格认证

sakeryu
初级会员   /  发表于:2012-7-13 10:41  /   查看:13634  /  回复:21
在我们项目里面设计好表后,保存的时候直接保存为了xls(因为spread默认的xml文件太大了),下次数据编辑再打开此xls文件。

出现的问题是,在设计里面对每张表要重复打印行标题都设置好,比如1-6行,当时预览也没问题。保存。。再次打开时参数丢失。

我试着用excel03直接打开此excel文件,进行预览,行标题也没起作用,第二页没有行标题,因此我以为是保存的时候参数没有保存到excel中。

但我又用spread设计器再打开此文件,再进行预览,结果是每张表都是正确的,即第二页预览的时候都有行标题。而且奇怪的总共4张表,在是spread看有3张的sprintinfo信息是设置的repeatrowend和start都是0-5,有1张不是,都为-1。但是预览的时候却都是正确的。

这个问题应该是出在哪里呢?是保存的时候没有把参数保存?如果没保存为什么spread设计器能读出来(但不是每张表都读出来了)还是我再次打开xls文件的时候参数丢失了?如果是打开是丢失了参数,那spread设计器打开为什么没丢失,而且spread打开有丢失的参数的那张预览也正确,难道是我打开的方法没用对?


spread6.0  sp3 英文版

excel附件——

区县6.zip (17.12 KB, 下载次数: 1245)

21 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-13 13:45:00
沙发
从附件中的Excel文件来看,第一页的PrintInfo.RepeatRowStart = -1,然而,第一页的FrozenRowCount = 6,所以在打印时前六行就在每一页都打印一遍。
第2、3、4页的PrintInfo.RepeatRowStart = 0;PrintInfo.RepeatRowEnd = 5;FrozenRowCount= 6;
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2012-7-13 14:19:00
板凳
你的意思是和FrozenRowCount有关系?我确实是每张表都有冻结行列的。

但是关键问题你没回答我,为什么excel打印就没有呢?

还有就是我自己项目再次打开也没有,为什么要用spread设计器打开也生效呢??
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-13 14:31:00
地板
首先,第一页没有设置RepeatRowStart和End所以Excel中不会重复打印前六行
而,在Spread中因为第一页设置FrozenRowCount之后,冻结行就会在每一页都打印一遍

第2、3、4页在Excel中直接打印前六行都会重复打印,所以,原因在于第1页中没有设置 RepeatRowStart 和 End,导致在Excel中不会重复打印前六行。
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2012-7-13 22:26:00
5#
请问你是用的excel2003打开的这个excel文件吗?我刚刚又用03打开看了一下,每张表都是有冻结行的。但是并不是你说的“第2、3、4页在Excel中直接打印前六行都会重复打印”。我的结果是2表重复打印了前6行,但3、4并没有重复打印前6行。你可以再试试看。
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2012-7-16 15:05:00
6#
版主能回答一下么,谢谢!
回复 使用道具 举报
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:43:00
8#
如您说说,既然除“主要财务指标表”外都有repeatrow的信息,那为什么excel直接打印只有“主要指标表一”会重复打印前六行,“补贴收入明细表”和“费用明细表”没有重复打印前六行呢?

究竟是参数和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 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的兼容性。

所以请楼主能不能想办法解决一下,现在现象就是这样的,我们只想要一个解决办法,不然没法交付项目了,:(
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部