请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

swejet 悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-9-18 15:18  /   查看:7391  /  回复:18
var serializationOption = {
        includeBindingSource: true,
        columnHeadersAsFrozenRows: true // indicate to treat the column headers as frozen rows when convert workbook to json, default value is false
    }
添加了之后导出表头有了。但是A列的表头没有了

错误图样.png

18 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-9-18 15:43:24
沙发
您好,您的A列也是冻结状态吗?

如果是冻结状态,您还得加一个参数,
  1. spread.toJSON({
  2.                 columnHeadersAsFrozenRows : true,
  3.                 // rowHeadersAsFrozenColumns作用是将冻结的行头导出
  4.                 rowHeadersAsFrozenColumns: true
  5.         } );
复制代码


我上一个帖子给您发的Demo中就有:
https://demo.grapecity.com.cn/Sp ... preadFromJSONToJSON
回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-9-18 16:22:21
板凳
加了之后表头有了,但是A列整个一列空了下来
var serializationOption = {
        includeBindingSource: true,
        rowHeadersAsFrozenColumns: true,
        columnHeadersAsFrozenRows: true // indicate to treat the column headers as frozen rows when convert workbook to json, default value is false
        
    }
还是说
ignoreFormula: true, // indicate to ignore the style when convert workbook to json, default value is false
   ignoreStyle: true,
这两个也的加上
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-9-18 17:16:32
地板
您好,您是否可以提供一个导出的ssjson文件,就是toJSON的结果,toJSON先不要传任何参数,我这边重现一下,看看问题出在哪里。
回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-9-18 17:20:49
5#
这有我导出的excel。您是不是可以通过导入excel把数据导入进去

Analysis_Spread (1).xlsx

46.87 KB, 下载次数: 290

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-9-18 17:43:33
6#
您好,您上传的是您已经导出来的文档,因为我不知道您原始文档是怎么设置冻结行,如何绑定数据的?比如您之前的列头是不是放在表格头上,行头是不是设置了冻结等问题,已经导出的文档看不到这些信息。

我需要一个您最原始的ssjson文件,就是您第一个帖子发问的时候的那个文档,我这边尝试着导出看看能不能找到问题在哪。
回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-9-19 08:19:31
7#
这个是数据源

WellData.json

625.33 KB, 阅读权限: 1, 下载次数: 293

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-9-19 09:47:35
8#
抱歉,可能真的是我的表达方式有问题

这样吧,我上传一个Demo给您,Demo使用您提供的数据源,将数据源与spread sheet进行了表单绑定,再导出至excel的操作,您看一下实现,如果还解决不了您的问题,您直接把您设计表格的模板、代码以及相关环境提供一下,我这边给您排查。

IO.html

2.37 KB, 下载次数: 201

IO.js

1 KB, 下载次数: 264

IO_FileSaver.js

5.83 KB, 下载次数: 198

WellData.js

625.35 KB, 下载次数: 264

回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-9-19 10:13:14
9#
上边给的就是数据源
AnalysisSpread = new GC.Spread.Sheets.Workbook(document.getElementById("Analysis_Spread"), { sheetCount: 1});
    AnalysisSpread.sheets[0].name("数据表");

var adarr = JSON.parse(redata); redata就是json中的数据。
var sheet_Data = AnalysisSpread.getSheetFromName('数据表');
sheet_Data.setDataSource(adarr);
sheet_Data.resumeEvent();
sheet_Data.resumePaint();


然后
var excelIo = new GC.Spread.Excel.IO();
    var Spread = $("#Analysis_Spread").data("workbook");
    var serializationOption = {
        includeBindingSource: true,
        rowHeadersAsFrozenColumns: true,
        columnHeadersAsFrozenRows: true // indicate to treat the column headers as frozen rows when convert workbook to json, default value is false

    }
    var json = Spread.toJSON(serializationOption);
    var fileName = "Analysis_Spread.xlsx";
    var password = "";
    excelIo.save(json, function (blob) {
        saveAs(blob, fileName);
    }, function (e) {
        alert(e.errorMessage);
    }, { password: password });


没有别的操作就是通过sheet_Data.setDataSource(adarr);这样是方式绑定的数据。没有添加格外的样式
回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-9-19 10:20:21
10#
您看是不是有可能是图片中区块列左边的序号列也给导出来了。
TIM截图20180919101803.png
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部