找回密码
 立即注册

QQ登录

只需一步,快速开始

jyjc 讲师达人认证
高级会员   /  发表于:2022-7-5 14:59  /   查看:1761  /  回复:3
        public virtual string ExpendRows(string excelJson)
        {
            // excelJson见上传文件中的"目标成本.ssjson"文件
            Workbook workbook = new Workbook();
            workbook.FromJson(excelJson);
            workbook.EnableCalculation = false;
            var sheet = workbook.Worksheets[0];
            sheet.Range["1:22"].Hidden = true; // 隐藏1到22行
            var startRowCount = 24;  // 隐藏行为25,删除行为3
            var cellRange = sheet.GetUsedRange();
            var rowCount = cellRange.RowCount;
            var colCount = cellRange.ColumnCount;

            //// 以下为报错代码
            // 设置为展开
            for (var i = 0; i <= rowCount; i++)
            {
                if (sheet.OutlineColumn.GetCollapsed(i))
                {
                    sheet.OutlineColumn.SetCollapsed(i, false);
                }
            }
            //// 以上为报错代码

            cellRange.Locked = true;
            var cells = sheet.Range[startRowCount, 0, rowCount - startRowCount, colCount];
            cells.Interior.Color = Color.FromArgb(255, 240, 241, 244);

            workbook.EnableCalculation = true;
            return workbook.ToJson();
        }

代码的目的是为了将收起的行全部展开,验证了下,第一层级展开是正常的,涉及到多层级的第二层级展开的时候就报错了。 请问是不是方法用错了,正确使用方法是什么样的?
image.png313241881.png

目标成本.zip

57.92 KB, 下载次数: 216

3 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-7-5 18:13:37
沙发
本帖最后由 Richard.Ma 于 2022-7-29 16:52 编辑

问题已经收到,这个建议直接用ShowLevels展开即可,这里的参数可以控制展开的层级
  1. sheet.Outline.ShowLevels(sheet.OutlineColumn.MaxLevel);
复制代码


回复 使用道具 举报
jyjc讲师达人认证
高级会员   /  发表于:2022-10-13 15:48:42
板凳
Richard.Ma 发表于 2022-7-5 18:13
问题已经收到,这个建议直接用ShowLevels展开即可,这里的参数可以控制展开的层级

非常感谢!
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-13 16:09:00
地板
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部