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

Vue2 + Office Add-in关于用vue项目于加载项控制excel单元格内容(Demo版)

最终实现功能
在这里插入图片描述
主要步骤:写好vue代码>生成密钥>启动代码>在window下创建一个共享文件夹>放入manifest.xml文件>打开excel的加载项>找到共享文件夹>点击加载
环境:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
系统是win10

开发使用步骤

1.新建vue2结构

在这里插入图片描述

public

index.html

注:这里用cdn的包,不用npm下载的包,那个我下载没成功

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8" /><title>Vue2 Office Add-in</title><script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>
</head><body><div id="app"></div>
</body></html>

src

components
HelloExcel.vue

主页代码代码

<template><div class="hello-excel"><h2>Vue2 + Office Add-in</h2><button @click="writeData">写入 Excel</button><button @click="readData">读取 Excel</button><p v-if="cellValue">A1 内容:{{ cellValue }}</p></div>
</template><script>
import { writeCell, readCell } from '../office';export default {data() {return { cellValue: '' };},methods: {async writeData() {await writeCell('Hello from Vue!');},async readData() {this.cellValue = await readCell();},},
};
</script><style scoped>
.hello-excel {padding: 20px;font-family: Arial;
}
button {margin-right: 10px;padding: 6px 12px;cursor: pointer;
}
</style>
App.vue

vue入口

<template><div id="app"><HelloExcel /></div>
</template><script>
import HelloExcel from './components/HelloExcel.vue';export default {components: { HelloExcel },
};
</script>
main.js
import Vue from 'vue';
import App from './App.vue';Vue.config.productionTip = false;// Office.js 加载完成后再挂载 Vue
Office.onReady(() => {new Vue({render: (h) => h(App),}).$mount('#app');
});

入口

office.js

这个是调用excel的单元格代码

/* src/office.js */
export async function writeCell(value = 'Hello Vue!') {await Excel.run(async (context) => {const sheet = context.workbook.worksheets.getActiveWorksheet();sheet.getRange('A1').values = [[value]];await context.sync();});
}export async function readCell() {return await Excel.run(async (context) => {const sheet = context.workbook.worksheets.getActiveWorksheet();const range = sheet.getRange('A1');range.load('values');await context.sync();return range.values[0][0];});
}

localhost+1-key.pem

这个是生成的密钥,需要https才能访问到页面

localhost+1.pem

这个是生成的密钥,需要https才能访问到页面

manifest.xml

这个是要放在共享文件夹中的主要代码,DefaultValue="https://localhost:8080"这里是页面的地址,千万注意要是https的,否则excel那边打不开

<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:type="TaskPaneApp"><Id>12345678-aaaa-bbbb-cccc-123456789abc</Id><Version>1.0.0.0</Version><ProviderName>Vue Office Addin</ProviderName><DefaultLocale>zh-CN</DefaultLocale><DisplayName DefaultValue="Vue Office Addin"/><Description DefaultValue="A Vue2 Excel Add-in demo"/><Hosts><Host Name="Workbook"/></Hosts><DefaultSettings><SourceLocation DefaultValue="https://localhost:8080"/></DefaultSettings><Permissions>ReadWriteDocument</Permissions>
</OfficeApp>

mkcert.exe这个是下载的生成密钥的工具

package-lock.json这个不用管

package.json这个也没啥

{"name": "vue-office-addin","version": "1.0.0","private": true,"scripts": {"serve": "vue-cli-service serve","build": "vue-cli-service build"},"dependencies": {"core-js": "^3.8.3","vue": "^2.7.14"},"devDependencies": {"@vue/cli-service": "^5.0.0","vue-template-compiler": "^2.7.14"}
}

vue.config.js

key: fs.readFileSync(path.join(__dirname, 'localhost+1-key.pem')), cert: fs.readFileSync(path.join(__dirname, 'localhost+1.pem')), 注意这两个 这两个是生成的密钥地址

const fs = require('fs');
const path = require('path');
module.exports = {devServer: {https: {key: fs.readFileSync(path.join(__dirname, 'localhost+1-key.pem')),cert: fs.readFileSync(path.join(__dirname, 'localhost+1.pem')),},port: 8080,},
};

2.生成密钥

https://github.com/FiloSottile/mkcert/releases

  1. 去这个地址下载mkcert的windwos64位版本
  2. 下载后把它改名为 mkcert.exe
  3. 下载之后放到项目根目录下
  4. 在右键文件夹中打开cmd控制台输入命令mkcert -install
  5. 应该会出现
    Created a new local CA
    The local CA is now installed in the system trust store!
  6. 之后输入命令 mkcert localhost 127.0.0.1
    会生成在这里插入图片描述
    这两个文件,名字可能和我的不一样,记得在配置文件中改

3.npm下载

npm install
npm run serve
项目启动成功之后访问 https://localhost:8080/index.html
这样vue端的就完成了

4.excel部分

  1. 新建一个文件夹,名字随意,位置随意
    在这里插入图片描述
  2. 创建一个共享文件夹
    按着图片的流程右键文件夹属性>共享>共享,之后复制地址
    在这里插入图片描述
  3. 打开excel
    找到excel的选项设置页,打开信任中心
    在这里插入图片描述
    输入刚才的共享文件地址,勾选显示在菜单中
    在这里插入图片描述
  4. 这样再重启excel之后再点开加载项就有了
    5.在这里插入图片描述

5.制作安装包,给客户直接一键安装好

制作中,预计使用.exe安装,然后拿注册表写到系统里
exe打包工具
https://jrsoftware.org/isdl.php#stable
创建iss文件

6.git地址

https://github.com/Shi-haoD/vue-office-addin

http://www.dtcms.com/a/495569.html

相关文章:

  • TS在Vue3中的使用实例集合
  • 储能技术适配绿电直连场景深度对比
  • React + Ant Design 日期选择器避免显示“Invalid Date“的解决方案
  • Vue 3 多实例 + 缓存复用:理念及实践
  • 手机网站自适应布局怎么做wordpress背景图片下载
  • Java基础——面向对象进阶复习知识点3
  • wordpress资讯站模板网站建设 智能建站
  • NoSQL介绍
  • 【实时Linux实战系列】FPGA 与实时 Linux 的协同设计
  • 可以做翻译兼职的网站wordpress icp链接
  • 【系统分析师】高分论文:数据库集群技术及应用
  • 西安知名高端网站建设服务企业郑州做系统集成的公司网站
  • 基于Matlab实现双目图计算深度图
  • sysctl -w net.ipv4.ip_forward=1 是一个Linux系统命令,用于开启IP转发功能
  • 信息检索4
  • 简述建设电子商务网站步骤苏州住房与城乡建设网站
  • 437路径总和III(dfs+前缀和)
  • 国内直连 Cursor:Remote SSH 无配置设置教程
  • Claude Code 使用手册
  • 网站开发需求书模板接软件开发项目的平台
  • 【源码深度 第1篇】LinkedList:双向链表的设计与实现
  • Git安装与环境配置教程
  • 关于Java项目构建/配置工具方式(Gradle-Groovy、Gradle-Kotlin、Maven)的区别于选择
  • Making decisions: Policies in reinforcement learning|做出决策:强化学习中的策略
  • 河北省建设注册中心网站首页品牌网站建设黑白H狼
  • 阿里最新开源!轻量级视觉模型Qwen3-VL-4B8B-Instruct本地部署教程:小参数媲美顶尖模型
  • 第20讲:自定义类型:结构体
  • 《FastAPI零基础入门与进阶实战》第21篇:告别 /path/ vs /path:静默斜杠修正中间件
  • Sherpa 语音识别工具链安装指南(Linux CPU 版)
  • 布林带中轨斜率的计算方法并判断趋势强度