aardio npoi库操作excel (二)读写内容

在sheet对象中读写内容的函数,只有四个。定位单元格我们同样可以使用序号(从1开始)或使用区域字符串如“B4” 表示第4行,第2列的单元格。

函数名

说明

setCellValue

读取已有工作表,不存在则创建一个新工作表

getCellValue

获取单元格的值

getTable

读取区域的内容并返回一个二维的table

setTable

从指定单元格位置开始,将二维的table写入

1.setCellValue写入内容,除了写入单个单元格内容还可以整行或整列写入:


import npoi //导入库

//当前目录如果存在文件则读取,不存在则创建文件,返回工作薄对象
workBook = npoi("/内容.xlsx") 

//创建工作表
sheet = workBook.sheet("工作表1")

//在行1,列1写入数字10
sheet.setCellValue(1,1,10)

//在B1(列2,行1)写入字符串 "你好"
sheet.setCellValue("B1","你好")


//从B2(列2,行2)开始,同一行连续写入table的内容
tab = {5,6,7,8,"字符串",tostring(time.now())}
sheet.setCellValue("B2",tab)

//从B3(列2,行3)开始,同一列连续写入table的内容
tab2 = {9,10,11,12,13}
sheet.setCellValue("B3",tab2,2) //第三个参数2,表示同一列写入

workBook.save() //保存到文件

写入后效果:

2.getCellValue读取单元格内容,如果想读取整行或整列的内容,我们需要知道最后行sheet.lastRowNum的序号和最后单元格row.lastCellNum的序号。

import console
import npoi //导入库

//当前目录如果存在文件则读取,不存在则创建文件,返回工作薄对象
workBook = npoi("/内容.xlsx") 

//获取工作表
sheet = workBook.sheet("工作表1")

//读取单个单元格内容
console.log("A1的内容:",sheet.getCellValue(1,1))

console.log("B1的内容:",sheet.getCellValue("B1"))

//获取行对象
row = sheet.row(2)

//行最后一个单元格序号
n = row.lastCellNum

//读取从B2开始到行结束的数据
console.writeText("B2整行内容:",'\t')
for(i=2;n;1){
    console.writeText(sheet.getCellValue(2,i),'\t')
}

//写入空行
console.log()
console.log()

console.log("下面是从B3开始,整列的内容:")
//结束的行序号
r = sheet.lastRowNum

//读取从B3(列2,行3)开始,同一列连续写入的内容
for(i=3;r;1){
    console.log(sheet.getCellValue(i,2))
}

workBook.save() //保存到文件

console.pause()

效果如下:

3.有时候我们要读取某区域的数据为一个table,方便我们导入到数据库或进行其它操作,就要用到getTable ,参数是“初始区域”和“结束区域”

import console
import npoi //导入库

//当前目录如果存在文件则读取,不存在则创建文件,返回工作薄对象
workBook = npoi("/内容.xlsx") 

//获取工作表
sheet = workBook.sheet("工作表1")

console.log("读取A1到B5的内容:")

//没有值的单元格为空字符串
console.dump(sheet.getTable("A1","B5"))
workBook.save() //保存到文件

console.pause()

效果图如下

4.最后,我们可以使用setTable从指定的区域写入二维的内容


import npoi //导入库

//当前目录如果存在文件则读取,不存在则创建文件,返回工作薄对象
workBook = npoi("/内容.xlsx") 

//获取工作表
sheet = workBook.sheet("工作表1")

//定义要写入的二维table内容

tab = {
    {"a","b","c","d"},
    {11,12,13,14}
}

//从C4开始写入
sheet.setTable("C4",tab)

workBook.save() //保存到文件

效果图:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值