第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Office加載項(xiàng)對(duì)Excel進(jìn)行讀寫(xiě)操作

標(biāo)簽:
JavaScript

前言

在开发ExcelWeb插件的时候,一大亮点就是可以在web项目中操作Excel,读取Excel的内容,也可以将服务端的数据写入的 Excel中,大大方便的用户使用Excel,提高工作效率

Ranges

Ranges表示Excel的区域,例如一个单元格的区域是=A1,多个单元格的区域,B1:B4表示连续的4个单元格,对Excel 内容的读写,即是对Ranges的读写。

Ranges的属性

  • address,表示Ranges的地址,例如:A1,B1:B4

  • values,二维数组,表示区域的实际值

  • texts,二维数组,表示区域的展示值

  • formulas,二维数组,表示区域的公式,excel可以使用公式,使用之后,看到的值是公式计算之后的值,如果想要知道使用了那些公式,就需要使用formulas属性

  • format,区域的字体格式,可以该表文字字体,颜色,也可以改变区域的背景色。

  • numberFormat,二维数组,区域的格式,有文本、日期、数值等,和Excel右击设置单元格的格式里所有的格式一致

    格式
    GeneralGeneral
    Number0
    Currency$#,##0.00;[Red]$#,##0.00
    Accounting($* #,##0.00);($* (#,##0.00);($* "-"??);(@_)
    Datem/d/yy
    Time[$-F400]h:mm:ss am/pm
    Percentage0.00%
    Fraction# ?/?
    Scientific0.00E+00
    Text@
    Special;;
    Custom#,##0_);Red
    来源Stack Overflow上的回答

Ranges的方法

  • load(),表示接下来你要使用哪个属性,需要在此处表明,例如,你要使用address,则 range.load('address')。

  • clear(),清空该区域

  • delete(),删除该区域,并指定是否需要下面的值上移,或者右面的值左移,参数枚举值如下:

    • Excel.DeleteShiftDirection.up:删除后,下面的值,向上移动填充空值

    • Excel.DeleteShiftDirection.left:删除后,右面的值,向左移动填充空值

  • select(),选中该区域

  • copyFrom(),将指定区域的值复制给当前区域

具体用法

准备工作:

  • 首先在vue中要安装excel-addin

npm install excel-addin --save
  • 在index.html中假如office.js

  <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>
  • 如果想要在Excel初始化时做些什么,还需要在main.js中假如下面的代码

const Office = window.Office
Office.initialize = () => {    //初始化内容}
  • 操作Excel的行为均要写在特定方法里,即:

//其中context表示Excel的上下文,操作Excel的东西均通过该参数
 Excel.run(function(context) {     //此处写操作Excel的方法
     //处理完之后要提交,Excel才会识别,另外所有的//读写数据的操作均在,
     //context.sync().then(=>{
         //此处读写数据
     })     return context.sync()
 }

写入

    write: function() {
      Excel.run(function(context) {        //获取指定名字的工作薄sheet
        // var sheet = context.workbook.worksheets.getItem('sheetName')
        //获取当前活动工作薄
        var sheet = context.workbook.worksheets.getActiveWorksheet()        var data = [
          ['Product', 'Qty', 'Unit Price', 'Total Price'],
          ['Almonds', '2', '7.5', '15'],
          ['Coffee', '1', '34.5', '34.5'],
          ['Chocolate', '5', '9.56', '47.8'],
          ['', '', '', '97.3']
        ]        //此二维数组的长度要和数据的保持一致,否则无效
        var formats = [
          ['@', '@', '@', '@'], //设置格式为文本
          ['0.00', '0.00', '0.00', '0.00'],
          ['0.00', '0.00', '0.00', '0.00'],
          ['0.00', '0.00', '0.00', '0.00'],
          ['0.00', '0.00', '0.00', '0.00']
        ]        var range = sheet.getRange('A1:D5')        //选中该区域
        range.select()        // 设置背景色和字体
        range.format.fill.color = '#4472C4'
        range.format.font.color = 'white'
        //设置区域的格式
        range.numberFormat = formats        //表示加载values属性,如果不加载在下面是不可以使用的
        range.load('values')        return context.sync().then(function() {          //写入方法必须在该方法内执行才有效
          range.values = data
        })
      }).catch(_this.errorHandler)
    },

读取数据

read: function() {      let _this = this
      Excel.run(function(context) {        //获取指定名字的工作薄sheet
        // var sheet = context.workbook.worksheets.getItem('sheetName')
        // 获取当前选中的单元格
        var range = context.workbook.getSelectedRange()        //获取当前选中的单元格
        //表示加载以下属性,如果不加载在下面是不可以使用的
        range.load('values')
        range.load('address')
        range.load('formulas')
        range.load('text')        return context.sync().then(function() {          //写入方法必须在该方法内执行才有效
          _this.content = {            values: range.values,            formulas: range.formulas,            address: range.address,            texts: range.text
          }          console.log(_this.content)
        })
      }).catch(_this.errorHandler)
    }

删除某一行数据

deleteOne: function() {      let _this = this
      Excel.run(function(context) {        //获取指定名字的工作薄sheet
        // var sheet = context.workbook.worksheets.getItem('sheetName')
        // 获取当前选中的单元格
        var sheet = context.workbook.worksheets.getActiveWorksheet()        var range = sheet.getRange('A2:D2')
        range.delete(Excel.DeleteShiftDirection.up)        //提交操作
        return context.sync()
      }).catch(_this.errorHandler)
    },

清空所有数据

clear: function() {      let _this = this
      Excel.run(function(context) {        //获取指定名字的工作薄sheet
        // var sheet = context.workbook.worksheets.getItem('sheetName')
        // 获取当前选中的单元格
        var sheet = context.workbook.worksheets.getActiveWorksheet()        var range = sheet.getRange('A1:D4')
        range.clear()        //提交操作
        return context.sync()
      }).catch(_this.errorHandler)
    },

参考链接

Excel JavaScrip API

项目地址

项目链接

原文出处:https://www.cnblogs.com/alvin-niu/p/9690179.html  

點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消