找回密码
 立即注册

QQ登录

只需一步,快速开始

前端小菜鸟

初级会员

24

主题

88

帖子

266

积分

初级会员

积分
266
前端小菜鸟
初级会员   /  发表于:2023-3-14 11:39  /   查看:3022  /  回复:15
30金币
我有一个 模板,其中某几个sheet页面中设置了打印区,到导入模板并展示在网页中后打印区设置消失。请问我在导入时候需要做哪些设置?



  getTemplate() {
    this.loading = true
    this.closeLoadingTimer()
    this.loadFile().then((file: any) => {
      let excelIo = new Excel.IO();
      excelIo.open(file, (json) => {
        let workbookObj = json;
        this.spread.fromJSON(workbookObj);
        if (this.readonly) {
          this.sharedimpservice.lockSpread(this.spread, this.sheet);
        }
        this.loadEnd = true
      }, (error) => {
        this.msg.error('导入异常' + error);
      }, {});
    });
  }

  loadFile() {
    return new Promise((resolve) => {
      // this.record.template_id
      this.http.get(global.host + "/****/*****/download2",
        { id: this.record.template_id }, { responseType: 'blob' }).subscribe((data: any) => {
          const blob = new Blob([data], { type: 'application/octet-stream' });
          resolve(blob)
        });
    })
  }


15 个回复

正序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-29 19:34:35
16#
前端小菜鸟 发表于 2023-3-29 09:25
已经解决了。

是我没会用这个插件。应该仔细看一下文档。

是的,需要引入相关组件您才能使用此功能,打印等功能可以按需引入,这也是控件类产品的常规设计。
本贴就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2023-3-29 09:25:12
15#
Lynn.Dou 发表于 2023-3-28 14:22
从提供信息来看未能判断原因,您直接提供一个可复现您问题的工程文件吧,这边调试看看。
注:为了更快复现 ...

已经解决了。

是我没会用这个插件。应该仔细看一下文档。

不过这个用法真是无语。

页面需要引入插件


import * as GC from "@grapecity/spread-sheets";
import "@grapecity/spread-sheets-charts";
import "@grapecity/spread-sheets-shapes";
import "@grapecity/spread-sheets-print";
import "@grapecity/spread-sheets-barcode";
import "@grapecity/spread-sheets-pdf";
import "@grapecity/spread-sheets-resources-zh";
import * as Excel from "@grapecity/spread-excelio";

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-28 14:22:30
14#
从提供信息来看未能判断原因,您直接提供一个可复现您问题的工程文件吧,这边调试看看。
注:为了更快复现您的问题,请描述清楚复现步骤。
回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2023-3-28 10:24:16
13#
Lynn.Dou 发表于 2023-3-27 18:16
您检查下package.json,看各组件版本是否一致。如果前面加了 ^ 符号,删除后再install重新下载测试下。
如 ...

按照你的方法试了,重新install 还是不是,这是我的配置,能帮我看看有没有什么冲突的项么???

  "dependencies": {
    "@angular/animations": "^7.0.7",
    "@angular/common": "^7.0.7",
    "@angular/compiler": "^7.0.7",
    "@angular/core": "^7.0.7",
    "@angular/forms": "^7.0.7",
    "@angular/platform-browser": "^7.0.7",
    "@angular/platform-browser-dynamic": "^7.0.7",
    "@angular/router": "^7.0.7",
    "@delon/abc": "^2.0.1",
    "@delon/acl": "^2.0.1",
    "@delon/auth": "^2.0.1",
    "@delon/cache": "^2.0.1",
    "@delon/chart": "^2.0.1",
    "@delon/form": "^2.0.1",
    "@delon/mock": "^2.0.1",
    "@delon/theme": "^2.0.1",
    "@delon/util": "^2.0.1",
    "@grapecity/spread-excelio": "14.2.5",
    "@grapecity/spread-sheets": "14.2.5",
    "@grapecity/spread-sheets-angular": "14.2.5",
    "@grapecity/spread-sheets-resources-zh": "14.2.5",
    "@grapecity/spread-sheets-charts": "14.2.5",
    "@grapecity/spread-sheets-shapes": "14.2.5",
    "@grapecity/spread-sheets-print": "14.2.5",
    "@grapecity/spread-sheets-barcode": "14.2.5",
    "@grapecity/spread-sheets-pdf": "14.2.5",
    "@grapecity/spread-sheets-designer-resources-cn": "14.2.5",
    "@grapecity/spread-sheets-designer": "14.2.5",
    "@stomp/ng2-stompjs": "^7.2.0",
    "@types/crypto-js": "^3.1.43",
    "@types/jquery": "^3.3.29",
    "@types/pinyin": "^2.8.1",
    "ajv": "^6.4.0",
    "classlist.js": "^1.1.20150312",
    "core-js": "^2.5.4",
    "crypto-js": "^3.1.9-1",
    "echarts": "^4.2.1",
    "editorconfig-tools": "^0.1.1",
    "file-saver": "^2.0.2",
    "font-awesome": "^4.7.0",
    "husky": "^0.14.3",
    "jquery": "^3.4.0",
    "lint-staged": "^7.1.2",
    "net": "^1.0.2",
    "ng-alain": "^2.0.1",
    "ng-socket-io": "^0.2.4",
    "ng-tree-antd": "^2.2.3",
    "ng-zorro-antd": "^1.8.0",
    "ngx-echarts": "^4.2.1",
    "ngx-umeditor": "^2.0.2",
    "pinyin-no-jieba": "^2.8.3",
    "prettier": "^1.12.1",
    "prettier-stylelint": "^0.4.2",
    "primeicons": "^1.0.0-beta.9",
    "primeng": "^6.1.7",
    "rxjs": "~6.3.3",
    "screenfull": "^3.3.1",
    "sockjs-client": "^1.3.0",
    "stompjs": "^2.3.3",
    "stylelint": "^9.2.0",
    "stylelint-config-standard": "^18.2.0",
    "tslib": "^1.9.0",
    "tslint-config-prettier": "^1.12.0",
    "tslint-language-service": "^0.9.9",
    "web-animations-js": "^2.3.1",
    "xlsx": "^0.16.1",
    "zone.js": "~0.8.26"
  },
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-27 18:16:53
12#
您检查下package.json,看各组件版本是否一致。如果前面加了 ^ 符号,删除后再install重新下载测试下。
如果问题还是未解决,”在我的项目导入就会丢失信息“
您直接提供下您的项目工程,这边调试并调研下原因。对于隐私数据,可以删除或做假数据。
回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2023-3-27 14:16:31
11#
Lynn.Dou 发表于 2023-3-27 14:05
关于蓝色打印边框,在您另一个贴中回复到类似问题,目前SpreadJS不支持蓝色框效果,不过支持设置是打印预览 ...

不是 蓝色边框问题,是打印信息get不到 会报错 。感觉和其他的丢失的数据一样,没有导入进来。插件已经按照给的例子装上了,依然导入不进去。excel 在给我的demo中试过了,可以导入不会丢失,但是在我的项目导入就会丢失信息,get不到print。 现在问题无从查起,不知道还能从哪个方面考虑bug在哪

还能给点其他的意见么?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-27 14:05:37
10#
本帖最后由 Lynn.Dou 于 2023-3-27 14:07 编辑

关于蓝色打印边框,在您另一个贴中回复到类似问题,目前SpreadJS不支持蓝色框效果,不过支持设置是打印预览线,会有一个灰色虚线(分页预览线)便于查看分页位置。
另一个类似形状的浅蓝色边框,目前判断不出是何原因,您将上传的excel文件提供下,这边导入验证看看。



回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2023-3-24 18:07:26
9#
1679652265151.png70575865.png

模板样式,设置了打印区 蓝色框


这是导入后的效果
1679652422327.png17915648.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-24 17:45:47
8#
本帖最后由 Lynn.Dou 于 2023-3-24 17:47 编辑


关于授权:
如果本地测试的话,不加授权也是可以的。跟你此前引入的其他SpreadJS组件一样,不需要再引入额外的授权。

另外,关于您问题本身而言,您这个模板文件是一个excel文件吗? ”打印区设置“消失指的又是什么?
结合demo或图片等详细说明下您的问题                 
回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2023-3-24 17:35:25
7#
Lynn.Dou 发表于 2023-3-24 12:12
打印需要使用到print相关资源,建议您在package.json中下载完整的依赖(如不使用数据透视表,此依赖可不下 ...

这些插件使用 需要授权么????
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部