NPOI可以在没有安装Office的情况下对Excel文档进行读写操作。支持xls和xlsx两种格式文件。读写速度快,这次使用aardio对它一些常用功能进行封装为第三方库。所有代码在npoi库版本号v6.7 测试成功!
1.下面简单的几句代码生成一个test.xlsx文件并生成一个工作表:
import npoi //导入库
//当前目录如果存在文件则读取,不存在则创建文件,返回工作薄对象
workBook = npoi("/test.xlsx")
//创建一个工作表,表名为"工作表1",返回工作表对象
sheet = workBook.sheet("工作表1")
workBook.save() //保存到文件
workBook对象关于工作表操作的一些方法:
2.值得关注的是,所有工作表方法,第一个参数都可以用序号(从1开始)或使用工作表名称字符串。
比如第一个工作表的表名是“工作表1”,那么删除一个工作表可用下面两句代码的任意一个来删除:
//删除第一个工作表
workBook.removeSheet(1)
//workBook.removeSheet("工作表1") //根据名称来删除
下面根据上面已生成的test.xlsx文件,进行表名设置例子:
import npoi //导入库
//当前目录如果存在文件则读取,不存在则创建文件,返回工作薄对象
workBook = npoi("/test.xlsx")
//返回第一个工作表对象
sheet = workBook.sheet(1)
//设置新的表名
workBook.setSheetName(1,"sheet1")
workBook.save() //保存到文件
3. 另外还有一个获取表总数的属性 numberOfSheets ,下面使用numberOfSheets获取表的总数和所有表名称:
import console
import npoi //导入库
//当前目录如果存在文件则读取,不存在则创建文件,返回工作薄对象
workBook = npoi("/test.xlsx")
//创建三个工作表
workBook.sheet("工作表1")
workBook.sheet("工作表2")
workBook.sheet("工作表3")
workBook.save() //保存到文件
num = workBook.numberOfSheets
console.log("工作表总数",num)
//列出所有工作表名
for(i=1;num;1){
console.log(i,workBook.sheet(i).sheetName)
}
console.pause()
效果图1: