码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用nodejs/exceljs读取、操作、写入excel文件


    现在edge已经不支持activexobject了,如果想用javascript操作excel文件,基本上只能用nodejs了。下面的代码就是用nodejs操作excel文件的可用方法,读取每个cell,设置颜色。

    1. // save this content as excel.js file
    2. // # npm i exceljs
    3. // # node excel.js
    4. const ExcelJS = require('exceljs');
    5. async function ProcessSheet(sheet)
    6. {
    7. let rows=sheet.rowCount, cols=sheet.columnCount;
    8. console.log(` ${rows} rows, ${cols} cols`);
    9. for(let row=1; row<=rows; row++)
    10. {
    11. let r=sheet.getRow(row);
    12. if(row==1) { if(!r.font) r.font={}; r.font.color={ argb: 'FFFF0000'}; }
    13. for(let col=1; col<=cols; col++)
    14. {
    15. let cell=r.getCell(col); let v=cell.value;
    16. console.log(` [${row}, ${col}] ${v}`);
    17. }
    18. }
    19. }
    20. async function ProcessFile(ExcelFilePath)
    21. {
    22. const workbook = new ExcelJS.Workbook();
    23. await workbook.xlsx.readFile(ExcelFilePath);
    24. let sheets=workbook.worksheets, sheetsCount=sheets.length;
    25. for(let sheet_index=0; sheet_index
    26. {
    27. let sheet=sheets[sheet_index];
    28. console.log(`sheet ${sheet.id}: ${sheet.name}`);
    29. await ProcessSheet(sheet);
    30. }
    31. // Iterate over all sheets
    32. // Note: workbook.worksheets.forEach will still work but this is better
    33. //--workbook.eachSheet(function(worksheet, sheetId) { });
    34. // fetch sheet by name
    35. //--const worksheet2 = workbook.getWorksheet('My Sheet');
    36. // fetch sheet by id
    37. //--const worksheet3 = workbook.getWorksheet(1);
    38. await workbook.xlsx.writeFile(ExcelFilePath);
    39. }
    40. function CreateFile()
    41. {
    42. const workbook = new ExcelJS.Workbook();
    43. workbook.creator = 'Me';
    44. workbook.lastModifiedBy = 'Her';
    45. workbook.created = new Date(1985, 8, 30);
    46. workbook.modified = new Date();
    47. workbook.lastPrinted = new Date(2016, 9, 27);
    48. const sheet = workbook.addWorksheet('My Sheet');
    49. workbook.removeWorksheet(sheet.id);
    50. }
    51. ProcessFile("C:\\Users\\Qiuzen\\Desktop\\艺术快递.xlsx");

  • 相关阅读:
    Pytorch入门实战(5):基于nn.Transformer实现机器翻译(英译汉)
    计算机系统5-> 计组与体系结构2 | MIPS指令集(上)| 指令系统
    基于JAVA小区物业管理系统录像展示.mp4计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    MyBatis之动态SQL&&分页
    Oracle 数据库中的全文搜索
    springboot时间管理系统springboot47
    C# StringBuilder 的使用
    第一篇:参考资料地址
    Java面向对象编程
    【斗罗大陆2】动画新增12集备案,冰碧帝皇蝎形象被吐槽遭狂喷!
  • 原文地址:https://blog.csdn.net/qiuzen/article/details/139611846
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号