vue-计算总和

前言

今天来做一个小练习。使用vue实现一个动态加载的计算总和。
效果图如下:
在这里插入图片描述
当点击前两个 数字的时候,两个数会加一,并把值赋给第三个值。
在这里插入图片描述


主要代码
  1. 首先定义一个全局组件count
    Vue.component("count",{
        template:"<div @click='handClick'>{{number}}</div>",
        data:function(){
            return {
                number:0
            }
        },
        methods:{
            handClick:function(){
                // alert("dian")
                this.number++;
                // 子组件往父组件传值 
                this.$emit("change")
            }
        }
    })

定义一个模板,里面有一个点击事件handClick,同时定义一个data,把number赋值0,最后子组件向父组件传递一个change。

2.父组件接收change

 <count @change="handleChange" ref="one"></count>
        +
        <count @change="handleChange" ref="two"></count>
        =
        <!-- 这个可不是count啊 -->
        <div >{{total}}</div>

ref代表接收子组件中的数据。

  1. 实现方法,把总数相加。
var vm = new Vue({
        el:"#root",
        data:{
            total:0

        },

        methods:{
            handleChange:function(){
                this.total = this.$refs.one.number+this.$refs.two.number
            }
        }
    })
你可以使用 ExcelJS 库来计算 Excel 表格中的总和。具体实现方法如下: 1. 引入 ExcelJS 库和 FileSaver.js 库。 ```javascript import ExcelJS from 'exceljs'; import FileSaver from 'file-saver'; ``` 2. 创建一个 ExcelJS 实例,并使用 `xlsx-populate` 库读取 Excel 模板文件。 ```javascript const workbook = new ExcelJS.Workbook(); const templateBuffer = await fetch('path/to/template.xlsx').then(res => res.arrayBuffer()); await workbook.xlsx.load(templateBuffer); ``` 3. 获取要计算总和的单元格范围,并计算总和。 ```javascript const worksheet = workbook.getWorksheet('Sheet1'); const range = worksheet.getCell('A1').fullAddress + ':' + worksheet.getCell('A10').fullAddress; const totalCell = worksheet.getCell('A11'); let sum = 0; worksheet.eachRow({ includeEmpty: false }, function(row, rowNumber) { sum += row.getCell('A').value; }); totalCell.value = sum; ``` 4. 将计算结果保存为 Excel 文件并下载到本地。 ```javascript const outputBuffer = await workbook.xlsx.writeBuffer(); const blob = new Blob([outputBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); FileSaver.saveAs(blob, 'output.xlsx'); ``` 完整代码示例: ```javascript import ExcelJS from 'exceljs'; import FileSaver from 'file-saver'; async function calculateSum() { const workbook = new ExcelJS.Workbook(); const templateBuffer = await fetch('path/to/template.xlsx').then(res => res.arrayBuffer()); await workbook.xlsx.load(templateBuffer); const worksheet = workbook.getWorksheet('Sheet1'); const range = worksheet.getCell('A1').fullAddress + ':' + worksheet.getCell('A10').fullAddress; const totalCell = worksheet.getCell('A11'); let sum = 0; worksheet.eachRow({ includeEmpty: false }, function(row, rowNumber) { sum += row.getCell('A').value; }); totalCell.value = sum; const outputBuffer = await workbook.xlsx.writeBuffer(); const blob = new Blob([outputBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); FileSaver.saveAs(blob, 'output.xlsx'); } ``` 注意:以上示例代码仅适用于计算单列数据的总和,如果需要计算多列数据的总和或者其他复杂的计算方式,需要根据具体需求进行修改。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逸羽菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值