当前位置: 首页 > news >正文

vue+spreadjs开发

创建vue3项目

pnpm create vite --registry=http://registry.npm.taobao.org

在这里插入图片描述

安装spreadjs包

pnpm install "@grapecity-software/spread-sheets@17.1.7" "@grapecity-software/spread-sheets-resources-zh@17.1.7" "@grapecity-software/spread-sheets-vue@17.1.7" --registry=http://registry.npm.taobao.org

在这里插入图片描述
修改main.ts

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import { GcSpreadSheets, GcWorksheet, GcColumn } from '@grapecity-software/spread-sheets-vue'let app = createApp(App);
app.component('gc-spread-sheets', GcSpreadSheets);
app.component('gc-worksheet', GcWorksheet);
app.component('gc-column', GcColumn);
app.mount("#app");

修改App.vue

<template><div id="spread-host"><gc-spread-sheets hostClass="spreadHost" @workbookInitialized="initWorkbook"></gc-spread-sheets></div>
</template><script setup lang="ts">
import "@grapecity-software/spread-sheets/styles/gc.spread.sheets.excel2016colorful.css";
import * as GC from "@grapecity-software/spread-sheets";
import "@grapecity-software/spread-sheets-vue";function initWorkbook(spread:GC.Spread.Sheets.Workbook) {let sheet = spread.getActiveSheet();sheet.getCell(0, 0).vAlign(GC.Spread.Sheets.VerticalAlign.center).value("Hello SpreadJS");
}
</script><style>
.spreadHost {width: 800px;height: 800px;
}
</style>

运行之后的结果

在这里插入图片描述

spreadjs-design

在上面的基础上添加如下npm包

pnpm install "@grapecity-software/spread-sheets-designer-vue@17.1.7" "@grapecity-software/spread-sheets-designer@17.1.7"  "@grapecity-software/spread-sheets-designer-resources-cn@17.1.7" "@grapecity-software/spread-excelio@17.1.7" "@grapecity-software/spread-sheets-pdf@17.1.7" "@grapecity-software/spread-sheets-io@17.1.7" "@grapecity-software/spread-sheets-languagepackages@17.1.7" "@grapecity-software/spread-sheets-charts@17.1.7" "@grapecity-software/spread-sheets-barcode@17.1.7" --registry=http://registry.npm.taobao.org

修改App.vue

<template><div id="spread-host"><designer style="width: 100%;height: 800px;" v-on:designer-initialized="init"></designer></div>
</template><script setup lang="ts">
import "@grapecity-software/spread-sheets/styles/gc.spread.sheets.excel2016colorful.css";
import "@grapecity-software/spread-sheets-designer/styles/gc.spread.sheets.designer.min.css"
import "@grapecity-software/spread-sheets-designer-resources-cn"
import * as GC from "@grapecity-software/spread-sheets-designer"
import "@grapecity-software/spread-sheets-vue";
import Designer from "@grapecity-software/spread-sheets-designer-vue"const init=(design:any)=>{const  designer = design as GC.Spread.Sheets.Designer.Designer;if(designer){console.log('初始化')console.log(designer.getWorkbook())}}
</script><style>
</style>

运行之后效果如下
在这里插入图片描述
也可以不用组件自己实现

<template><div id="spread-host"><div ref="ssDesigner" style="height:700px;width:100%;text-align: left;"></div></div>
</template><script setup lang="ts">
import {onMounted,ref} from "vue";
import "@grapecity-software/spread-sheets/styles/gc.spread.sheets.excel2016colorful.css";
import "@grapecity-software/spread-sheets-designer/styles/gc.spread.sheets.designer.min.css"
import "@grapecity-software/spread-sheets-designer-resources-cn"
import * as GC from "@grapecity-software/spread-sheets-designer"
import "@grapecity-software/spread-sheets-vue";const ssDesigner = ref(null);onMounted(()=>{if(ssDesigner.value){console.log(ssDesigner.value)const divElement = ssDesigner.value as HTMLDivElement;if(divElement){var designer = new GC.Spread.Sheets.Designer.Designer(divElement);console.log(designer)}else{console.log('divElement不存在')}}
})
</script><style>
</style>

效果如上图
还可以增加配置

var config = GC.Spread.Sheets.Designer.DefaultConfig;var designer = new GC.Spread.Sheets.Designer.Designer(divElement,config);

参考

vue框架支持
https://www.grapecity.com.cn/blogs/spreadjs-vue3-component-development-combat-part2

http://www.lryc.cn/news/471857.html

相关文章:

  • 针对初学者的PyTorch项目推荐
  • Helm Chart文件介绍
  • 1Panel 是新一代的 Linux 服务器运维管理面板
  • Qml-ShaderEffect的使用
  • 鸿蒙next之axios二次封装并携带cookie
  • WordPress中最值得推荐的AI插件:专家级指南
  • HTTP介绍及请求过程
  • WebGL进阶(五)-可视域
  • 2024性价比家居好物有哪些?推荐五款值得每个家庭拥有的好物品牌!
  • 字节青训-查找热点数据问题
  • Codeforces Round 981 (Div. 3) (A~F)
  • shell脚本实例(4)while实现1+...+100,linux新增用户
  • docker XML详解
  • web前端边框详解,弹性盒子的使用(仿写购物网页)
  • 【ACM出版,EI稳定检索,九大高校联合举办, IEEE Fellow支持】2024年计算机视觉与艺术研讨会(CVA 2024)
  • 认识软件测试
  • poi处理excel文档时,与lombok的@Accessors(chain = true)注解冲突
  • 我接触csdn中的c++的时间
  • go语言多态性(接口interface)的使用
  • 如何将markdown文件转换为pdf
  • 【python实操】python小程序之测试报告
  • 【Java基础】2、Java基础语法
  • MATLAB基础应用精讲-【数模应用】本量利分析(Cost-Volume-Profit Analysis)
  • 实习冲刺Day7
  • 《Python游戏编程入门》注-第4章1
  • 一些硬件知识【2024/10/29】
  • 利用弱监督学习在全切片病理图像中检测和分型基底细胞癌|文献速递-基于生成模型的数据增强与疾病监测应用
  • leetcode刷题笔记——15.三数之和
  • NLTK无法下载?
  • 采用非递归快排实现找出数组中的前k个高频元素(python)