news 2026/5/25 4:33:00

鸿蒙6开发保存Excel文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
鸿蒙6开发保存Excel文件

概述:

本文采用exceljs,方法来源于鸿蒙的第三方库,教程地址:https://ohpm.openharmony.cn/#/cn/detail/@archermind%2Fexceljs
因Excel读取简单,所以没有描述读取操作。

软硬件平台:

运行测试平台:鸿蒙6.0.0(Mate 70 Pro模拟器),即API20
开发平台Dev Echo:版本6.0.0.858

因鸿蒙设计不同版本API函数不能完全向下兼容,本文仅适用于API20,对于其他版本可能会出错

配置环境:

需要nodejs环境,我找的最新版,地址:https://nodejs.org/dist/v24.11.1/node-v24.11.1-x64.msi
按照默认安装好nodejs,然后配置好环境变量,使node.exe和ohpm.bat能直接在命令行访问到
我按照默认安装的,在Path中添加了下面的两个环境变量:
C:\Program Files\nodejs
C:\Program Files\Huawei\DevEco Studio\tools\ohpm\bin

安装包:

因导入相关包报错:import ExcelJS, { Cell, Column } from ‘@archermind/exceljs’
根据教程,在命令行执行如下命令:
ohpm install @archermind/exceljs

功能代码:

需要打开文件读写权限,此功能这里不描述了。关键地方加了注释,我相信应该很容易看懂

importExcelJS,{Cell,Column}from'@archermind/exceljs'exportdefaultclassExcelOp{publicstaticSaveExcel(strFileName:string,titles:string[],datas:string[][]){constworkbook=newExcelJS.Workbook();constworksheet=workbook.addWorksheet('test');letindexRow:number=0;letindexColumn:number=0;letcell:Cell;/* 标题风格 */conststyleHead:Partial<ExcelJS.Style>={border:{top:{style:'thin',color:{argb:'FFD3D3D3'}},left:{style:'thin',color:{argb:'FFD3D3D3'}},bottom:{style:'thin',color:{argb:'FFD3D3D3'}},right:{style:'thin',color:{argb:'FFD3D3D3'}}},fill:{type:'pattern',pattern:'solid',fgColor:{argb:'FFAEEEEE'}},font:{name:'楷体',family:2,size:12,bold:true,italic:true,color:{argb:'FF2F4F4F'}},alignment:{vertical:'middle',horizontal:'left'},};/* 奇数列风格 */conststyleOddColumn:Partial<ExcelJS.Style>={fill:{type:'pattern',pattern:'solid',fgColor:{argb:'FFADFF2F'}},};/* 偶数列风格 */conststyleEvenColumn:Partial<ExcelJS.Style>={fill:{type:'pattern',pattern:'solid',fgColor:{argb:'FFADD8E6'}},};/* 设置列宽度,运行没问题,暂时屏蔽 worksheet.columns = [ { width: 16 }, { width: 16 }, { width: 16 }, ];*/indexRow=0;/* 设置标题文本和风格 */for(indexColumn=0;indexColumn<titles.length;indexColumn++){cell=worksheet.getCell(String.fromCharCode(65+indexColumn)+(indexRow+1).toString());cell.value=titles[indexColumn];cell.style=styleHead;}/* 设置类容文本和风格 */for(indexRow=0;indexRow<datas.length;indexRow++){for(indexColumn=0;indexColumn<datas[indexRow].length;indexColumn++){cell=worksheet.getCell(String.fromCharCode(65+indexColumn)+(indexRow+2).toString());cell.style=((indexColumn%2)==0)?styleOddColumn:styleEvenColumn;cell.value=datas[indexRow][indexColumn];}}/* 写入到Excel文件 */workbook.xlsx.writeFile(strFileName);}}

测试代码:

ExcelOp.SaveExcel('/storage/Users/currentUser/Documents/test.xlsx',['t1','t2','t3'],[['10','11','12'],['20','21','22'],['30','31','32']]);

测试结果:

生成了excel文件

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/22 13:26:37

AutoDock Vina终极实战:5步搞定高效分子对接

AutoDock Vina终极实战&#xff1a;5步搞定高效分子对接 【免费下载链接】AutoDock-Vina AutoDock Vina 项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina 掌握分子对接技术已成为现代药物研发和生物分子研究的必备技能。AutoDock Vina作为业界公认的高效对接…

作者头像 李华
网站建设 2026/5/22 13:12:08

Windows 11系统精简终极教程:快速打造轻量高效的操作系统

Windows 11系统精简终极教程&#xff1a;快速打造轻量高效的操作系统 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 还在为Windows 11系统运行缓慢而烦恼吗&…

作者头像 李华
网站建设 2026/5/24 4:36:32

为什么90%的开发者都低估了低代码PHP配置存储的重要性?

第一章&#xff1a;为什么90%的开发者都低估了低代码PHP配置存储的重要性在现代Web开发中&#xff0c;PHP依然占据着不可忽视的地位&#xff0c;尤其是在快速迭代和低代码平台盛行的今天。然而&#xff0c;一个普遍被忽视的问题是&#xff1a;大多数开发者并未真正重视配置数据…

作者头像 李华
网站建设 2026/5/22 13:32:11

Vue3表单开发效率革命:form-generator低代码整合实战指南

Vue3表单开发效率革命&#xff1a;form-generator低代码整合实战指南 【免费下载链接】form-generator :sparkles:Element UI表单设计及代码生成器 项目地址: https://gitcode.com/gh_mirrors/fo/form-generator 痛点剖析&#xff1a;为什么你的Vue3表单开发效率低下&am…

作者头像 李华
网站建设 2026/5/22 9:56:21

5个关键步骤掌握SGP4卫星轨道计算技术

SGP4&#xff08;Simplified General Perturbations model 4&#xff09;卫星轨道计算模型是现代航天工程中的核心技术工具&#xff0c;能够在考虑地球引力场、大气阻力等多种摄动因素的前提下&#xff0c;精确预测卫星在任意时刻的空间位置和运动状态。这套开源算法库为空间态…

作者头像 李华