找回密码
 立即注册

QQ登录

只需一步,快速开始

前端小菜鸟

初级会员

24

主题

88

帖子

266

积分

初级会员

积分
266
前端小菜鸟
初级会员   /  发表于:2023-3-29 14:24  /   查看:2286  /  回复:10
20金币
本帖最后由 前端小菜鸟 于 2023-3-29 14:39 编辑

我的导出处理是这样的  

我的excel里面原本是显示分页信息和打印信息的,但是导出之后没有了

另外的导入的excel模板里面有显示‘第一页第二页’这样的字,导入到系统里面之后就没有字了这么设置呢?
有类似isPrintLineVisible(true) 这样的方法 专门去显示第几页这样的字的设置么?


export() {
    let json = this.spread.toJSON();

    this.spreadCopy = new GC.Spread.Sheets.Workbook();
    this.spreadCopy.fromJSON(json,{ignoreFormula: true,ignoreStyle: false});//先取消公式再删除,否则出错

    this.spreadCopy.suspendPaint();
    for (let index = 0; index < 26; index++) {
      this.spreadCopy.removeSheet(0);
    }
    for (let index = 0; index < this.spreadCopy.getSheetCount(); index++) {
      let sheet = this.spreadCopy.getSheet(index);
      sheet.isPrintLineVisible(true)
    }
    this.spreadCopy.resumePaint();
   
    let jsonCopy = this.spreadCopy.toJSON({ignoreStyle: false,includeBindingSource: true,saveAsView: true});
    let excelIo = new Excel.IO();
    let fileNames = this.record.case_name + '.xlsx'
    excelIo.save(jsonCopy, (blob) => {
      this.sharedimpservice.downloadContent(blob, fileNames);
    }, (e) => {
      this.msg.error(e)
    });
  }



  downloadContent(content, fileName?: string) {
    let eleLink = document.createElement('a');
    eleLink.download = fileName || '下载.xlsx';
    eleLink.style.display = 'none';

    const blob = new Blob([content]);
    eleLink.href = URL.createObjectURL(blob);

    document.body.appendChild(eleLink);
    eleLink.click();
    document.body.removeChild(eleLink);
    return;
  }



最佳答案

查看完整内容

您好, 问题1:“我的excel里面原本是显示分页信息和打印信息的,但是导出之后没有了” 你提供下ssjson文件,这边实际导出验证看看。 另,这里的“分页信息”指的是什么,请详细描述下。 问题2: 这个“第一页”跟蓝色框一样,SpreadJS是不支持导入显示的。 如果想实现类似效果,有个思路可以参考下: 可以使用spread.pageInfo()获取分页的相关信息,自己判断分页位置, 在合适的区域设置背景图。 不过目前SpreadJS ...

10 个回复

正序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-7 10:02:51
11#
没有这个设置,您在Excel手动切换一下即可。
回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2023-4-7 09:17:03
10#
Clark.Pan 发表于 2023-4-6 19:20
如果你说的是那个蓝框的话,那个哪是什么分页信息啊。那个就是Excel的分页预览模式而已。导出的默认没有开 ...

那我做导入导出的的时候,有什么方法是可以设置开启这种模式的么?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-6 19:20:09
9#
如果你说的是那个蓝框的话,那个哪是什么分页信息啊。那个就是Excel的分页预览模式而已。导出的默认没有开启分页预览模式,你按照下面的图选择分页预览模式就行了
image.png194144591.png
回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2023-4-6 10:19:40
8#
本帖最后由 前端小菜鸟 于 2023-4-6 13:31 编辑

我没明白您的意思,
我导入的时候能拿到打印信息,也可以把打印区域的线显示出来,
我用这些方法做什么呢?和导出时候不显示打印区域有什么关联呢?

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-6 10:09:28
7#
打印区域对应的是pageinfo接口中的
https://demo.grapecity.com.cn/sp ... ets.Print.PrintInfo
image.png487144469.png
rowStart,rowEnd,columnStart,columnEnd来设置打印区域。
另外,printinfo中的大多数设置都可以保留到Excel中,这回答了您另一个问题。
回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2023-4-6 08:53:33
6#
本帖最后由 前端小菜鸟 于 2023-4-6 10:16 编辑
Clark.Pan 发表于 2023-3-31 17:38
我只看到你demo中做了一个打印线的显示设置,没有其他设置,另外这个打印线也只是SpreadJS里面的控制接口根 ...

您好,这个打印相关的设置我确实不是很懂,您看我想要我 模板里那种打印的效果,可以导入进去,可以导入出来 都可以做哪些设置呢。

就是我模板里面设置了分页和打印区域,区域的边框是蓝色的线。我想这种效果可以导入到系统中,还可以导出出来进行打印,我都需要设置什么呢?

导入的时候怎么设置?导出的时候怎么设置?才能保证显示出分页以及打印区呢?


另外 我的模板打印区域外侧 是这样的
1680747269434.png593461913.png

导入到系统中是这样的
1680747315359.png254357909.png
想要效果一致,需求在导入及导出里面做哪些设置呢?关于分页及打印
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-31 17:38:13
5#
我只看到你demo中做了一个打印线的显示设置,没有其他设置,另外这个打印线也只是SpreadJS里面的控制接口根本不属于打印设置,自然也不会导出。
image.png575062560.png
回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2023-3-31 11:20:48
4#
Lynn.Dou 发表于 2023-3-29 20:00
您好,

问题1:“我的excel里面原本是显示分页信息和打印信息的,但是导出之后没有了”

附件是你们之前给我导入模板 我增加了导出功能 没有导出打印信息

demo-sjs模板_V14.zip

1.63 KB, 下载次数: 137

回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2023-3-31 11:17:38
3#
Lynn.Dou 发表于 2023-3-29 20:00
您好,

问题1:“我的excel里面原本是显示分页信息和打印信息的,但是导出之后没有了”

附件是带格式的文件 用你之前给我的demo 做了导出功能后也没有导出出来打印和分页信息

测试文件最新.zip

33.65 KB, 下载次数: 142

回复 使用道具 举报
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-29 14:24:13
来自 2#
您好,

问题1:“我的excel里面原本是显示分页信息和打印信息的,但是导出之后没有了”
你提供下ssjson文件,这边实际导出验证看看。
另,这里的“分页信息”指的是什么,请详细描述下。

问题2:
image.png242665709.png
这个“第一页”跟蓝色框一样,SpreadJS是不支持导入显示的。
如果想实现类似效果,有个思路可以参考下:
可以使用spread.pageInfo()获取分页的相关信息,自己判断分页位置,
在合适的区域设置背景图。
不过目前SpreadJS是不支持区域设置背景图的,如果您想实现,需要利用自定义单元格。
下方文章供参考:
https://gcdn.grapecity.com.cn/fo ... 3&fromuid=59119
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部