找回密码
 立即注册

QQ登录

只需一步,快速开始

yanxing
注册会员   /  发表于:2021-7-7 14:18  /   查看:7322  /  回复:24
1金币
本帖最后由 Derrick.Jiao 于 2021-7-9 09:10 编辑

为啥我照着葡萄城官网的文档导入css和js文件到vue的脚手架中,控制台e.default is not a constructor。
葡萄城导入css和js文件到vue的脚手架的官方文档:
https://demo.grapecity.com.cn/spreadjs/help/docs/UsingSpread.SheetswithVue.html#b




2.png
1.png

text.zip

1.08 MB, 下载次数: 591

24 个回复

正序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-12 12:06:43
26#
yanxing 发表于 2021-7-12 11:03
百度查了下报的这个错: Unable to preventDefault inside passive event listener invocation.
加了css ...

我这边在控制台没有报错,所有功能都是正常的。建议你提供更多能复现问题的信息
回复 使用道具 举报
yanxing
注册会员   /  发表于:2021-7-12 11:03:44
25#
Derrick.Jiao 发表于 2021-7-9 09:15
请你仔细看一下package.json里面的内容

百度查了下报的这个错: Unable to preventDefault inside passive event listener invocation.
加了css样式touch-action:none,还是没效果。
回复 使用道具 举报
yanxing
注册会员   /  发表于:2021-7-12 11:02:10
24#
Derrick.Jiao 发表于 2021-7-9 09:15
请你仔细看一下package.json里面的内容

你给我发的vue的葡萄城的demo功能是正常的,但点击excel的表格或者鼠标滚动时,控制台总是报这个错:
gc.spread.sheets.all.min.js?b0a7:12 Unable to preventDefault inside passive event listener invocation.


总是显示gc.spread.sheets.all.min.js里的代码有问题,但看了一下gc.spread.sheets.all.min.js里的代码也没什么问题
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-9 09:15:01
23#
yanxing 发表于 2021-7-9 09:04
你这种用@符号的形式,不就是通过npm下载的吗

请你仔细看一下package.json里面的内容
image.png594912108.png

这些包都是需要提前通过npm下载下来保存,然后后续按照上面的配置就可以直接使用了。就像直接使用js那样,你也得下载下来才能用啊。
image.png803619384.png

用@的方式是因为这些包里面存在的相互依赖关系决定了需要这么引入,并不是说一定要用npm才能这么引入
回复 使用道具 举报
yanxing
注册会员   /  发表于:2021-7-9 09:04:03
22#
Derrick.Jiao 发表于 2021-7-9 08:38
不能这么引入,这些包都是有相互依赖的关系,参考上面demo的写法,用@的形式。

你这种用@符号的形式,不就是通过npm下载的吗
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-9 08:38:50
21#
yanxing 发表于 2021-7-8 20:36
为什么我把你上次发的EXCEL_VUE项目里面Init_Excel.vue页面引入的葡萄城版本号换成14.0.0
控制台报Uncau ...

不能这么引入,这些包都是有相互依赖的关系,参考上面demo的写法,用@的形式。
image.png153116149.png
回复 使用道具 举报
yanxing
注册会员   /  发表于:2021-7-8 20:36:33
20#

为什么我把你上次发的EXCEL_VUE项目里面Init_Excel.vue页面引入的葡萄城版本号换成14.0.0
控制台报Uncaught TypeError: e.default is not a constructor
    at Object.eval (gc.spread.sheets.vue.14.0.0.min.js?4ac8:12)
    at c (gc.spread.sheets.vue.14.0.0.min.js?4ac8:12)
    at Object.eval (gc.spread.sheets.vue.14.0.0.min.js?4ac8:12)
    at c (gc.spread.sheets.vue.14.0.0.min.js?4ac8:12)
    at eval (gc.spread.sheets.vue.14.0.0.min.js?4ac8:12)
    at eval (gc.spread.sheets.vue.14.0.0.min.js?4ac8:12)
    at a (gc.spread.sheets.vue.14.0.0.min.js?4ac8:12)
    at eval (gc.spread.sheets.vue.14.0.0.min.js?4ac8:12)
    at Object../src/test/gc.spread.sheets.vue.14.0.0.min.js (app.js:1319)
    at __webpack_require__ (app.js:849)





下面是我改你EXCEL_VUE项目里面Init_Excel.vue页面的代码
  1. <template>
  2.     <div class="home">
  3.         <div class="toolbar">
  4.             <input type="file" class="el-button" @change="importExcel($event)"/>
  5.             <el-button @click="exportExcel()">导出 Excel</el-button>
  6.          
  7.         </div>

  8.         <div class="spreadWrapper" v-show="isShow">
  9.             <div>spread1</div>
  10.             <gc-spread-sheets class="spreadHost" @workbookInitialized="workbookInitialized($event)">
  11.                 <gc-worksheet></gc-worksheet>
  12.             </gc-spread-sheets>
  13.         </div>
  14.         <!-- <div class="spreadWrapper" v-show="ishide">
  15.             <div>spread2</div>
  16.             <gc-spread-sheets class="spreadHost" @workbookInitialized="workbookInitialized1($event)">
  17.                 <gc-worksheet></gc-worksheet>
  18.             </gc-spread-sheets>
  19.         </div> -->
  20.     </div>
  21. </template>


  22. <script>
  23.     import Vue from "vue";
  24.     // import "../../public/static/gc.spread.sheets.excel2013white.14.1.0.css";
  25.     // import '../../public/static/gc.spread.sheets.vue.min.js';
  26.     // import * as GC from "../../public/static/gc.spread.sheets.all.14.1.0.min.js";
  27.     // import * as ExcelIO from "../../public/static/gc.spread.excelio.14.1.0.min.js";
  28.     // import '../../public/static/gc.spread.sheets.charts.`14.1.0.min.js';
  29.     // import "../../public/static/gc.spread.sheets.resources.zh.14.1.0.min.js";
  30.     // import "../../public/static/gc.spread.sheets.barcode.14.1.0.min.js";

  31.     // import FileSaver from "file-saver";
  32.     // import "../test/gc.spread.sheets.excel2013white.14.1.0.css";
  33.     // import aa from '../test/gc.spread.sheets.vue.min.js';
  34.     // import * as GC from "../test/gc.spread.sheets.all.14.1.0.min.js";
  35.     // import * as ExcelIO from "../test/gc.spread.excelio.14.1.0.min.js";
  36.     // import '../test/gc.spread.sheets.charts.14.1.0.min.js';
  37.     // import "../test/gc.spread.sheets.resources.zh.14.1.0.min.js";
  38.     // import "../test/gc.spread.sheets.barcode.14.1.0.min.js";


  39.     import FileSaver from "file-saver";
  40.     import "../test/gc.spread.sheets.excel2013white.14.0.0.css";
  41.     import aa from "../test/gc.spread.sheets.vue.14.0.0.min.js";
  42.     import * as GC from "../test/gc.spread.sheets.all.14.0.0.min.js";
  43.     import * as ExcelIO from "../test/gc.spread.excelio.14.0.0.min.js";
  44.     import '../test/gc.spread.sheets.charts.14.0.0.min.js';
  45.     import "../test/gc.spread.sheets.resources.zh.14.0.0.min.js";
  46.     import "../test/gc.spread.sheets.barcode.14.0.0.min.js";
  47.    
  48.    
  49.    
  50.     GC.Spread.Common.CultureManager.culture("zh-cn");
  51.    
  52.     export default {
  53.         data () {
  54.            
  55.             return {
  56.                isShow:true,
  57.                 ishide:false
  58.             }
  59.         },
  60.         
  61.         methods: {
  62.             workbookInitialized(spread){
  63.                 this.spread = spread;
  64.                 var sheet = this.spread.getActiveSheet();
  65.                
  66.             },

  67.             importExcel(event) {
  68.                 const file = event.target.files[0];
  69.                 let self = this;
  70.                 let excelIO = new ExcelIO.IO();
  71.                 excelIO.open(file, (spreadJSON) => {
  72.                     if (self.spread) {
  73.                         self.spread.fromJSON(spreadJSON);
  74.                     }
  75.                 });
  76.                
  77.             },

  78.             hide(){
  79.                 this.ishide = !this.ishide;
  80.                 this.isShow=!this.isShow;
  81.             },
  82.             exportExcel() {
  83.                 let self = this;
  84.                 if (self.spread) {
  85.                     let spreadJSON = JSON.stringify(self.spread.toJSON());
  86.                     let excelIO = new ExcelIO.IO();
  87.                     excelIO.save(spreadJSON, (blob)=>{
  88.                         FileSaver.saveAs(blob, "export.xlsx");
  89.                     })
  90.                 }
  91.             }
  92.         }
  93.     }
  94. </script>

  95. <!-- Add "scoped" attribute to limit CSS to this component only -->
  96. <style scoped>

  97.     .home,
  98.     .spreadWrapper {
  99.         height: 90%;
  100.     }
  101.     .spreadHost {
  102.         height: 90%;
  103.         width: 100%;
  104.     }
  105.     .toolbar {
  106.         padding-bottom: 10px;
  107.     }
  108.     .el-button{
  109.         /*padding-bottom: 5px;*/
  110.         height: 50px;
  111.     }
  112.    a{
  113.        float: right;
  114.        text-decoration: none;
  115.        margin-right: 10px;
  116.        line-height: 56px;
  117.    }

  118. </style>
复制代码
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-8 14:30:20
18#
yanxing 发表于 2021-7-8 14:27
你这边像这种引入方式,14.0版本的vue-cli的demo有吗,能给我看下吗。14.0版本的你现在你那边测下能否正 ...

没有 这边需要整理一下 整理完成后会在本帖更新
回复 使用道具 举报
yanxing
注册会员   /  发表于:2021-7-8 14:27:12
17#
Derrick.Jiao 发表于 2021-7-8 14:18
可以通过静态方式引入,具体这边可能需要调研一下,此贴先给您改为保留处理,有进展这边会在本帖更新。

你这边像这种引入方式,14.0版本的vue-cli的demo有吗,能给我看下吗。14.0版本的你现在你那边测下能否正常跑通,然后再发给我
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-8 14:18:38
16#
yanxing 发表于 2021-7-8 14:12
我这边看了下,我的环境没什么问题。我同事电脑跑你这个deom也报:This dependency was not found:

*  ...

可以通过静态方式引入,具体这边可能需要调研一下,此贴先给您改为保留处理,有进展这边会在本帖更新。
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部