本帖最后由 Lynn.Dou 于 2022-8-15 16:53 编辑
您好,
这边测试,直接使用微软Excel新建一个excel文件并设置整列数据验证,
再导入至SJS时,会自动根据实际非空(或选中单元格以上)区域显示行数。
不会出现数据验证区域为104857行的问题。
您参考附件文件,导入下方地址实际测试下。
https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html
结合测试结果来看,另个帖子的表述不大完整,现补充如下:如果是Excel自己新建的excel文件,即时整列设置数据验证,在导入至SJS时会根据文件内容自动优化数据验证区域行数。
您本贴提到的excel文件是POI产生的吗?
这边以另一个帖子的文件(POI生成)进行测试,可以复现您描述的问题。
从测试结果来看,该问题是与此文件有关的,猜测属于POI的问题,而SJS在设计方向上并不是与POI兼容。
所以,如果仅对此excel文件而言,您可以尝试下监听FileLoading事件,
在事件内部获加载文件的json数据,并修改rowCount,此时就会根据新的json(sheet行数)进行加载了。示例代码如下:
- designer.bind(GC.Spread.Sheets.Designer.Events.FileLoading, (event, data)=>{
- var json = data.data;
- if(json.sheets["同一控制人下境外机构信息"].rowCount == 1048576 ) {
- json.sheets["同一控制人下境外机构信息"].rowCount = 20
- }
- });
复制代码 以上思路仅供参考,具体判断逻辑需要根据您结合您的实际业务实现。
|