位置: 编程技术 - 正文

详解使用Node.js 将txt文件转为Excel文件(node-js)

编辑:rootadmin

推荐整理分享详解使用Node.js 将txt文件转为Excel文件(node-js),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:地盘正针的详解使用,node的使用,node的使用,node.js用途,node.js用途,node.js使用教程,node.js使用教程,天盘缝针的详解使用,内容如对您有帮助,希望把文章链接给更多的朋友!

最近同事需要对一份报告进行整理,一共有个报告约多行放在一个txt文件中。虽然每份报告的格式比较类似,但其中部分字段对应的数量依旧会有差别。所以真要靠人工来做,无疑会是一件费时费力的并且是很枯燥的工作。据说如果有了这个程序,可以减少%的工作量!那么为了我以后的下午茶,自然应该去尝试一下不是么?

不过既然是费时费力又枯燥的工作,自然就应该交给代码去解决。毕竟,我坚信任何的科学技术就是为了让人类偷懒而存在的。那么就先切入正题,先上GitHub的项目地址。欢迎批评指点。

GitHub项目:report-maker

项目分析

既然准备要上代码了,作为一个狂热的前端爱好者,自然首选Node.js了。这一个项目主要的目的就是将txt文件中的内容按照一定的规则转化为固定格式的表格并导出为Excel。那么重点就可以分为下面两步了。

Excel文件的生成 txt内容的整理

1. Excel文件的生成

详解使用Node.js 将txt文件转为Excel文件(node-js)

Excel文件自然是寻找可以依赖的模块了(毕竟我自己写不出来)。找了一圈,发现js-xlsx这一个模块。虽然看起来很复杂,但其实只要提供好表头和内容就可以,其余只是对于内容数据整理的固定模板。

相关教程可以参考下面这篇,讲的比较详细所以这里就不多做赘述了。

参考教程:使用node-xlsx进行excel文件的读写

2. txt内容的整理

解决了Excel导出的问题(不然就得换Py了呢),文档内容的整理便是这个项目最重要的问题了。最终整理的表格样式以及需要抽出的项目内容已经和同事确认过了。那么接下来就是如何整理了一个有着个长短不一报告的文件了。

首先来看看文件的格式,整个文件的格式类似于下面这样。

可以看出,每一个段落是以Policy Name为分界的。那么,利用fs.readFile将完整的文件读取进来,作为一个字符串使用split方法进行切割。具体代码如下:

然后针对数组中每一个元素(一个段落)根据之前文件中所需要项目,使用正则表达式切提取出所需要的内容,然后将提取出的内容组成所需要的数据结构,具体代码如下。其中schedule项目中内容也并非在一行中,所以也同样使用上面的方法进行切割。而对于其他的项目,则通过正则表达式来进行内容的获取。

主要逻辑处理完以后,把收集到的内容传给excel处理模块,导出成文件就能解决问题了。

不过似乎最终如果能导出为Word,似乎更好。看来还有新的改进空间还留着呢。

标签: node-js

本文链接地址:https://www.jiuchutong.com/biancheng/382140.html 转载请保留说明!

上一篇:用node和express连接mysql实现登录注册的实现代码(node的express干什么用)

下一篇:Node.js 回调函数实例详解(nodejs回调函数例子 getdata check)

  • 消费型增值税的含义
  • 销售货物开票及销售收入
  • 跨年的预收账款怎么记账
  • 超市的小票能重开吗
  • 财务要做哪些表
  • 小规模纳税人外账处理
  • 开出已验旧的发票怎么办
  • 工资扣水电费怎么算
  • 纳税人财务会计报表报送管理办法
  • 公积金缴存基数多久调整一次
  • 一般纳税人计提水利基金会计分录
  • 企业向个人借款的会计分录
  • 土地使用管理费
  • 物业公司可以开什么项目的发票
  • 未认缴出资的股东退股
  • 会员卡退钱是退全额吗
  • 企业所得税计算器2023
  • 会务费税率是多少 2021
  • 中药饮片适用增值税税率
  • 股份转让的溢价是什么意思
  • 消费满额赠礼
  • 工资退税手续需要多久
  • 商会会费收取
  • 零申报工会经费滞纳金怎么算
  • 用苹果macbook pro怎样
  • 损益类科目的借方是增加还是减少
  • 公司暂估成本过高,如何处理
  • 保险公司工伤保险
  • 公司私户利息收入怎么算
  • 注册资金没有的怎么做账
  • php后端技术栈
  • php两种赋值方式
  • 公司收到财政拨付办公经费
  • uniapp怎么做适配
  • 第二季度企业所得税怎么计提
  • 一年的云信承兑汇票如何提现
  • ros入门21讲
  • 盈余公积转增资本的最高限额
  • framework教程
  • win11磁盘分区后不显示
  • php yield 异步
  • 国内php大牛
  • sql执行顺序优先级
  • mysql分页性能优化
  • 给个人的返佣如何交税
  • 其他应付款的会计编码
  • 印花税申报怎么填
  • 购买材料增值税税率
  • 自然人独资交企业所得税吗
  • 信用减值损失转回的会计处理
  • 发票抬头开个人可以吗?
  • 地下车库的成本和房子哪个高
  • 商家的促销
  • 差额发票如何做账
  • 免税的发票什么样子
  • 广告公司收到广告收入会计分录
  • 亏损股东现金补偿怎么算
  • 租赁合同的印花税的计税依据
  • 其他应付款在借方是代表公司欠人家钱吗
  • 残保金是交上一年的吗
  • mysql 含有关键字
  • 微软win8下载
  • Win10 Mobile 10536预览版用得越久越卡顿是怎么回事?
  • windows2000文件和文件夹的属性包括
  • Mac如何使用clash上外网
  • putty ssh tunnel
  • win10快速访问在哪
  • win7浏览器主页怎么设置
  • win8关机键怎么添加到开始菜单
  • ubuntu配置vsftpd
  • scchost.exe - scchost是什么进程 有什么用
  • win8应用商店下载
  • linux整理磁盘
  • java gui开发框架
  • js经典实例
  • flask框架图
  • android中的几种动画
  • js继承的概念
  • 如何开具分包发票流程
  • 规范性文件失效后,没有新文件,可以使用民法典第十条吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设