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

在自动化脚本中如何操作excel文件?

在自动化流程开发中,Excel文件操作是一项非常高频的基础需求。无论是批量处理用户数据、导出报表,还是作为配置文件的读写媒介,Excel都是绕不开的环节。本文将系统梳理冰狐平台原生提供的Excel操作API,从创建、写入、读取到行列管理,给出完整的方法说明与代码示例。

一、Excel 对象与文件路径约定

冰狐平台通过内置的Excel构造函数来操作Excel文件。使用前需要先实例化:

var excel = new Excel();

平台对文件路径有明确的约定:文件名不需要添加后缀名(如.xls),平台会自动处理。路径参数为选填,默认为空字符串,此时文件存放在手机目录下的aznfz文件夹里。如果指定path参数,则可以自定义存放路径。

二、创建 Excel 文件(create)

创建新文件使用create方法,返回布尔值表示操作是否成功。

方法签名:

excel.create(fileName, colTitle, path)
参数类型必填说明
fileNamestring文件名,不需要加后缀
colTitlearray列标题数组
pathstring路径,默认为空(aznfz目录)

示例:创建名为temp的Excel文件,列标题分别为“名称”、“值”、“价格”:

var excel = new Excel(); var ret = excel.create('temp', ['名称', '值', '价格']); console.log('create ret:' + ret);

创建成功后,文件即生成在指定目录下,后续的写入操作基于此文件进行。

三、打开已有文件(open)

如果需要操作已存在的Excel文件,使用open方法。

方法签名:

excel.open(fileName, path)
参数类型必填说明
fileNamestring文件名,不需要加后缀
pathstring路径,默认为空(aznfz目录)

返回布尔值表示是否成功打开文件。注意read方法只能在open成功调用后才能使用。

四、写入数据

1. addRow —— 按行写入

addRow用于向文件写入一行数据,返回布尔值。

方法签名:

excel.addRow(data, row)
参数类型必填说明
dataarray数据数组,个数必须与列数一致
rowinteger行号,默认为 -1,表示在末尾追加

示例:

excel.addRow(['jack', '经济', 112]);

2. append —— 追加到末尾

appendaddRow的简化版本,专门用于在文件末尾添加一行数据。调用成功后会立即写入文件,无需额外操作。

方法签名:

excel.append(data)
参数类型必填说明
dataarray数据数组,个数必须与列数一致

示例:

var excel = new Excel(); excel.open('temp'); excel.append(['hello', 111]); excel.close();

appendaddRow的核心区别在于:append固定追加到末尾且立即落盘,而addRow可以通过row参数指定任意行号写入。

五、关闭文件(close)

所有操作完成后,务必调用close方法关闭文件。

excel.close();

关闭文件不仅释放资源,也确保所有缓冲数据完整写入磁盘。建议在任何写入操作结束后都显式调用close

六、读取数据(read)

read方法用于读取Excel中的数据,返回数组。注意:必须先调用open成功打开文件后才能使用read

方法签名:

excel.read(row)
参数类型必填说明
rowinteger行号,若不填则返回表格所有数据

用法示例:

excel.open('temp'); var allData = excel.read(); // 读取所有数据 var rowData = excel.read(2); // 读取第2行数据 console.log(allData); excel.close();

七、获取行列数(rows / columns)

rowscolumns方法分别返回文件的总行数和总列数。

var rowCount = excel.rows(); var colCount = excel.columns(); console.log('总行数:' + rowCount + ',总列数:' + colCount);

这两个方法在遍历数据或进行边界检查时非常实用。

八、删除操作(removeRow / removeColumn)

1. removeRow —— 删除指定行

删除指定行号的数据。

excel.removeRow(3); // 删除第3行

2. removeColumn —— 删除指定列

删除指定列号的数据。

excel.removeColumn(2); // 删除第2列

注意:行号和列号均从1开始计数(与常规表格习惯一致)。

九、完整流程示例

下面是一个完整的操作流程,覆盖创建、写入、读取、修改和关闭的全链路:

// 1. 创建实例 var excel = new Excel(); // 2. 创建新文件 var ret = excel.create('sales_data', ['产品', '销量', '单价']); console.log('创建结果:' + ret); // 3. 写入多行数据 excel.addRow(['手机', 120, 2999]); excel.addRow(['平板', 85, 3999]); excel.append(['耳机', 200, 499]); // 4. 读取所有数据并输出 var all = excel.read(); console.log('当前数据:', all); // 5. 获取行列数 console.log('行数:' + excel.rows() + ',列数:' + excel.columns()); // 6. 删除第2行 excel.removeRow(2); // 7. 再次读取验证 var afterDelete = excel.read(); console.log('删除后数据:', afterDelete); // 8. 关闭文件 excel.close(); console.log('操作完成');

十、常见问题与注意事项

1. 文件名不需要加后缀:无论是create还是open,传入的fileName都不需要带.xls.xlsx后缀,平台会自动处理。

2. 数据长度必须与列数一致:调用addRowappend时,传入的数据数组长度必须与创建时设定的列标题数量相同,否则操作会失败。

3. read 必须在 open 之后read方法依赖已打开的文件句柄,未调用open直接read会导致错误。

4. 及时 close:写入操作完成后建议立即调用close,避免数据丢失或文件占用问题。

5. 路径说明:不指定path时,文件默认存放在手机目录的aznfz文件夹下。如需存放到其他位置,可通过path参数指定绝对路径。

http://www.jsqmd.com/news/1249879/

相关文章:

  • OpenWrt 23.05.3 软路由美化与功能扩展:Argon主题+Docker+iStore一站式配置记录
  • OpenAI 昨天卖「可信 Agent」,今天承认模型越狱——Presence 的信任赤字有多大?
  • 深圳夏令营哪家性价比高:军博营地服务优质 - 17728098551
  • 一个宏在调试阶段挡住所有误操作
  • 华为CANN模型部署与model-zoo优化技术解析
  • 学生工作管理系统用户手册:操作指南与功能详解
  • 提示工程监控预警系统设计与实战
  • 2026 年更新:黔南州诚信的防爆板实力厂家竞争格局,不防爆板如何拯救你的工厂? - 企业官方推荐【认证】
  • 保姆级教程:给吃灰的小米AC2100刷入原生OpenWrt,打造稳定轻量的软路由
  • TI C2000 eCAP模块深度解析:从捕获到PWM生成的实战指南
  • 嵌入式系统EMIF接口详解:SDRAM与异步存储器的配置与调试实战
  • 抖音礼物模拟器-无限礼物
  • 2026年 山东潍坊漆/烤漆/环氧漆/工业漆生产厂家:山东庞贝捷新材料有限公司 - 品牌发掘
  • Go vs Rust 高并发后端终极对决:从调度器原理到生产实战的完整工程指南
  • OpenTelemetry OBI - 非侵入式监控各种语言应用的神器
  • 深圳夏令营哪家办学经验丰富:军博营地头部品牌 - 17728181569
  • 2026主流求职APP优缺点全面对比盘点 全适用人群总结 脉脉求职避坑要点全指南FAQ
  • SAM2图像分割模型:原理、配置与实战应用
  • 接入6家大模型API后的适配器设计模式总结
  • 全景沉浸式悬空玻璃剧场
  • 深入解析TI C2000 ePWM模块:从原理到电机控制实战
  • 【Python课程设计/毕业设计】基于 Python 的校园二手交易互动社区系统 高校闲置物品互动展示与交易管理平台【附源码、数据库、万字文档】
  • 益生菌代工贴牌怎么避坑?2026年6家头部工厂深度核验 附活菌保障实操手册 - 互联网科技品牌测评
  • Openwrt软路由系统安装
  • 2026年AI大模型零基础入门:从环境搭建到项目实战完整指南
  • Python毕设项目: 基于 Python 的面向高校的交互式闲置物品交易系统 智慧校园二手资源互动流通平台设计(源码+文档,讲解、调试运行,定制等)
  • 杭州成考函授站推荐榜单出炉:专业、正规、高通过率一站搞定 - 浙江教育测评
  • 你的软路由跑满千兆了吗?用OpenWrt+Docker搭建私有SpeedTest测速点
  • 深度学习中的GAN技术:原理、应用与优化
  • 2026年AI学术写作工具深度测评与实战指南