1金币
本帖最后由 jyjc 于 2022-1-6 15:25 编辑
前后端均使用葡萄城 组件处理excel,前端生成ssjson后传输到后端,后端使用 GrapeCity.Documents.Excel.ToJson函数时,触发了 json序列化死循环(提示 ActiveCell对象循环引用),进而导致系统崩溃。
详情见附件:
初步排查为 ssjson中 rowDataArray 的Style对象导致的。 ssjson见附件
前端引起异常的代码:
- "data": {
- "rowDataArray": [
-
-
- {
- "style": {
- "backColor": null,
- "foreColor": "#000000",
- "hAlign": 3,
- "vAlign": 1,
- "font": "normal normal 11pt 微软雅黑,sans-serif",
- "formatter": "General",
- "borderLeft": {},
- "borderTop": {},
- "borderRight": {},
- "borderBottom": {},
- "locked": true,
- "textIndent": 0,
- "wordWrap": false,
- "shrinkToFit": false,
- "imeMode": 1,
- "cellPadding": "0 10 0 10",
- "quotePrefix": false
- }
- }
- ],
复制代码
后端代码:
- var workbook = new Workbook();
- var jsonErrors = workbook.FromJson(ssJsonData);
- if (jsonErrors != null && jsonErrors.Count > 0)
- {
- throw new BusinessLogicException("json文件出错");
- }
复制代码
|
最佳答案
查看完整内容
嗯,老版本确实可以重现,这个应该是在新版本中已经修复了,建议升级到新版本即可,升级到4.2.6就行
|