找回密码
 立即注册

QQ登录

只需一步,快速开始

zhaoshangsoft
金牌服务用户   /  发表于:2020-9-25 21:48  /   查看:4295  /  回复:14
clone  sheet页的时候提示 无效的行指定的索引:16(行的当前值是16)

我做了循环sheet页复制每一页导出一个excel文件的功能,有一个页面提示这个错误
代码如下
foreach (SheetView sh in fpSpread.Sheets)
{
     FpSpread tempsp = new FpSpread(LegacyBehaviors.All);
     tempsp.Sheets[0] = sh.Clone();
     ....
}

14 个回复

正序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-29 16:36:18
15#
嗯,应该是的,  不客气
回复 使用道具 举报
zhaoshangsoft
金牌服务用户   /  发表于:2020-9-29 16:10:24
14#
OK多谢,可能是tempsp.Sheets.Count = 1;这个代码导致的
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-29 16:02:47
13#
我这里测试你发我的文件没有出现这种该问题,
如果你那边有这个问题的话,可以加一句Clear代码在Add前
  1. tempsp.Sheets.Clear();
复制代码


这样就行了
回复 使用道具 举报
zhaoshangsoft
金牌服务用户   /  发表于:2020-9-29 15:49:48
12#
用ADD方法可以
FpSpread tempsp = new FpSpread(LegacyBehaviors.All);
tempsp.Sheets.Add(sheet);
tempsp.SaveExcel这个导出方法分很多文件导出的时候会产生一个sheet1,有什么方法只移除sheet1吗
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-29 15:06:01
11#
本帖最后由 Richard.Ma 于 2020-9-29 15:08 编辑

那现在报错问题是已经解决了吗,我这里测试并不会有空白sheet,Add进去的就是唯一的一个

麻烦发个demo过来以重现问题

回复 使用道具 举报
zhaoshangsoft
金牌服务用户   /  发表于:2020-9-29 14:44:32
10#
  tempsp.Sheets.RemoveAt(0);,我加了这个方法去移除sheet1,应该是可行的。谢谢
回复 使用道具 举报
zhaoshangsoft
金牌服务用户   /  发表于:2020-9-29 14:20:59
9#
用add方法不会报错,只是会多个原始的空白sheet1
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-29 14:05:57
8#
嗯,那现在报错是其他地方吗,Clone方法我这里测试没有报错

评分

参与人数 1满意度 +5 收起 理由
zhaoshangsoft + 5 很给力!

查看全部评分

回复 使用道具 举报
zhaoshangsoft
金牌服务用户   /  发表于:2020-9-29 14:01:18
7#
版本是一致的,不过还需要删除sheet页其中行之后再导出
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部