找回密码
 立即注册

QQ登录

只需一步,快速开始

刘大青
注册会员   /  发表于:2023-12-12 15:47:42
8#
Joestar.Xu 发表于 2023-12-12 15:21
了解了,您在导出的时候要将这个选项置为True才行,这样才能将合并单元格的信息保存下来。

按照您说的参数配置了 还是没有合并单元格            
        var serializationOption = {
                         includeBindingSource: true, //将工作簿转换为json时包含绑定源,默认为false
       ignoreStyle: false, //将工作簿转换为json时忽略样式,默认值为false
       ignoreFormula: false, //工作簿转换为json时忽略公式,默认值为false
       saveAsView: false, //包含工作簿转换为json时格式化字符串的结果,默认为false
       rowHeadersAsFrozenColumns: false, //将工作簿转换为json时将行头视为冻结列,默认值为false
       columnHeadersAsFrozenRows: false, //将工作簿转换为json时将列标题视为冻结行,默认值为false
       includeAutoMergedCells: true //将工作簿转换为json时,将自动合并的单元格包含为实际合并的单元格。
                                                   };
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-12 15:21:19
6#
了解了,您在导出的时候要将这个选项置为True才行,这样才能将合并单元格的信息保存下来。

image.png510468444.png
回复 使用道具 举报
刘大青
注册会员   /  发表于:2023-12-12 15:17:46
5#
Joestar.Xu 发表于 2023-12-12 14:56
您好,您的意思是说spread1对象中存在合并单元格,但是在导出来合并单元格丢失了吗?

是的 导出后 合并单元格的样式丢失了,参考您发的技术文件做的
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-12 14:56:29
4#
您好,您的意思是说spread1对象中存在合并单元格,但是在导出来合并单元格丢失了吗?
回复 使用道具 举报
刘大青
注册会员   /  发表于:2023-12-12 14:42:47
3#

                                    var serializationOption = {
                        ignoreFormula: true,
                        ignoreStyle: false,
                        rowHeadersAsFrozenColumns: true,
                        columnHeadersAsFrozenRows: true
                };
                //ToJson
                var spread1 = GC.Spread.Sheets.findControl(document.getElementById('ss'));
                var jsonStr = JSON.stringify(spread1.toJSON(serializationOption));
                            var excelIo = new GC.Spread.Excel.IO();
            excelIo.save(jsonStr, function (blob) {
                // saveAs(blob, fileName);
                funDownload(blob,"test.xlsx")
            }, function (e) {
                console.log(e);
            }, {password: ''});
var funDownload = function (content, filename) {
            var eleLink = document.createElement('a');
            eleLink.download = filename;
            eleLink.style.display = 'none';
            // 字符内容转变成blob地址
            var blob = new Blob([content]);
            eleLink.href = URL.createObjectURL(blob);
            // 触发点击
            document.body.appendChild(eleLink);
            eleLink.click();
            // 然后移除
            document.body.removeChild(eleLink);
        };   按照示例写的代码 能实现数据导出 但是没有帮我合并单元格
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-12 14:09:11
2#
您好,SpreadJS的JSON只用于持久化数据,不能以任何方式自行创建,您这样的创建方式无法得到正确的结果。

image.png410525817.png

正确的获取方式请参考:https://demo.grapecity.com.cn/sp ... alization#timestamp

如果要去掉密码,移除下图红圈中的代码即可:

image.png954681396.png
回复 使用道具 举报
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-12 11:13:22
来自 19#
您这个Demo里面还是没有把includeAutoMergedCells置为true,只有置为true之后导出才可以。

image.png965588073.png

请参考附件中的Demo。

demo copy.html

31.56 KB, 下载次数: 105

回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部