xlsxnpm:优秀的表格处理库

一、简介

xlsxnpm是一个基于Node.js的表格处理库,旨在提供快速、简便的处理Excel和CSV格式表格的解决方案。它使用了流式编程技术,避免一次性读取整个文件,从而提高了处理效率。

相比于其他的表格处理库,xlsxnpm的最大优势在于它能够处理百万条记录的大型表格文件,而且在速度和内存占用上表现出色。

二、安装和使用

使用xlsxnpm非常简单,只需要通过npm安装即可:

npm install xlsxnpm

在代码中引入xlsxnpm:

const xlsx = require('xlsxnpm');

接下来就可以使用xlsxnpm的各种功能了。

三、读取Excel表格数据

xlsxnpm提供了两种方式读取Excel表格中的数据:

1. 读取整张表格

使用xlsx.readFile方法读取整个Excel表格,然后通过sheet_to_json方法将数据转换为JSON格式。

const workbook = xlsx.readFile('example.xlsx');
const sheetName = workbook.SheetNames[0];
const sheetData = xlsx.utils.sheet_to_json(workbook.Sheets[sheetName]);

上述代码将example.xlsx表格文件读取到workbook对象中,然后获取第一个sheet的数据,并将其转换为JSON格式。

2. 逐行读取表格

使用Node.js自带的fs模块读取Excel表格文件,并通过xlsx的解析器方法将数据转换成JSON格式。

const xlsxParser = require('xlsxnpm-parser');
const fs = require('fs');
  
const stream = fs.createReadStream('example.xlsx');
const workSheetsFromFile = new xlsxParser.WorkbookReader();

workSheetsFromFile.on('worksheet', function(worksheet) {
  worksheet.on('row', function(row) {
    console.log(row.values);
  });
});
stream.pipe(workSheetsFromFile);

上述代码将example.xlsx表格文件读取到stream流中,然后使用xlsxParser解析器将其转换为JSON格式数据,并逐行打印。

四、处理表格数据

xlsxnpm提供了各种方法处理Excel表格,包括插入、删除、合并、拆分、排序等等。

1. 插入新数据

使用xlsx.utils.sheet_add_json方法向表格中插入新数据:

const header = ['姓名', '年龄', '性别'];
const data = [{姓名: '张三', 年龄: 18, 性别: '男'}, 
              {姓名: '李四', 年龄: 20, 性别: '女'}, 
              {姓名: '王五', 年龄: 21, 性别: '男'}];
const worksheet = xlsx.utils.json_to_sheet(data, { header });
xlsx.utils.sheet_add_json(worksheet, [{姓名: '赵六', 年龄: 22, 性别: '女'}], {header, skipHeader: true, origin: -1});

上述代码创建了一个包含三个数据项的表格,并将其插入到worksheet对象中。然后使用sheet_add_json方法向表格中插入新数据项。

2. 删除数据

使用xlsx.utils.sheet_delete_data_range方法删除表格中的数据:

const workbook = xlsx.readFile('example.xlsx');
const sheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[sheetName];

const range = {s: {c: 0, r: 2}, e: {c: 2, r: 4}};
xlsx.utils.sheet_delete_data_range(worksheet, range);

上述代码读取了一个包含多条数据的表格,然后删除了第3行到第5行之间的数据。

3. 合并单元格

使用xlsx.utils.sheet_merge方法合并表格中的单元格:

const workbook = xlsx.readFile('example.xlsx');
const sheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[sheetName];

const mergeRange = {s: {c: 0, r: 2}, e: {c: 3, r: 3}};
xlsx.utils.sheet_merge(worksheet, mergeRange);

上述代码读取了一个包含多个单元格的表格,然后将第3行第1~4个单元格合并。

五、总结

xlsxnpm是一个轻量级、易用性强的表格处理库,能够通过流式编程技术快速处理Excel和CSV格式的表格文件。通过本文的介绍,我们可以了解到xlsxnpm的安装和使用方法,以及简单的表格处理方法。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/188711.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-28 13:32
下一篇 2024-11-28 13:32

相关推荐

  • 使用Treeview显示表格

    在web开发中,显示表格数据是一项很常见的需求。当我们需要在页面上显示大量数据时,除了使用传统的表格样式外,还可以使用Treeview这种可折叠的表格样式,以便更好地展示数据。本文…

    编程 2025-04-29
  • Python根据表格数据生成折线图

    本文将介绍如何使用Python根据表格数据生成折线图。折线图是一种常见的数据可视化图表形式,可以用来展示数据的趋势和变化。Python是一种流行的编程语言,其强大的数据分析和可视化…

    编程 2025-04-29
  • Python 图片转表格

    本文将详细介绍如何使用Python将图片转为表格。大家平时在处理一些资料的时候难免会遇到图片转表格的需求。比如从PDF文档中提取表格等场景。当然,这个功能也可以通过手动复制、粘贴,…

    编程 2025-04-29
  • Python教学圈:优秀教学资源都在这里

    Python是一门优秀、易学、易用的编程语言,越来越多人开始学习和使用它,Python教学圈的重要性也越来越大。Python教学圈提供了许多优秀的教学和学习资源,为初学者和专业开发…

    编程 2025-04-29
  • python爬取网页并生成表格

    本文将从以下几个方面详细介绍如何使用Python爬取网页数据并生成表格: 一、获取网页数据 获取网页数据的一般思路是通过HTTP请求获取网页内容,最常用的方式是使用Python库r…

    编程 2025-04-28
  • 优秀周记1000字的撰写思路与技巧

    优秀周记是每个编程开发工程师记录自己工作生活的最佳方式之一。本篇文章将从周记的重要性、撰写思路、撰写技巧以及周记的示例代码等角度进行阐述。 一、周记的重要性 作为一名编程开发工程师…

    编程 2025-04-28
  • Python如何做表格为中心

    本文将从多个方面详细阐述Python如何做表格,包括表格的创建、数据的插入、表格的样式设置等内容。 一、创建表格 要在Python中创建表格,我们可以使用第三方库Pandas。具体…

    编程 2025-04-28
  • 52周存钱法表格图100元

    52周存钱法是一种有效的储蓄方法,它能够帮助人们规律性地储蓄并实现财务目标。针对这种储蓄方法,我们可以使用表格来更加直观地记录储蓄进度,并且可以通过代码实现,给用户提供更加便捷的服…

    编程 2025-04-27
  • ABCNet_v2——优秀的神经网络模型

    ABCNet_v2是一个出色的神经网络模型,它可以高效地完成许多复杂的任务,包括图像识别、语言处理和机器翻译等。它的性能比许多常规模型更加优越,已经被广泛地应用于各种领域。 一、结…

    编程 2025-04-27
  • Prototypical Network: 一种优秀的few-shot学习算法

    机器学习中,few-shot学习已经成为了近年来的热门研究方向。相较于传统的机器学习算法,few-shot学习算法在训练数据较少的情况下有着更好的表现。在目前的few-shot学习…

    编程 2025-04-25

发表回复

登录后才能评论