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

Excell 代码处理

文章目录

    • Excell 代码处理
    • cvc格式
    • xlsl格式
    • 小结

Excell 代码处理

有时候要对excell进行分析,或者数据的导入导出,这个时候如果可以用代码读写分析操作那么会方便很多

cvc格式

CSV(Comma-Separated Values,逗号分隔值)是一种简单的文本文件格式,用于存储表格数据。每一行代表一条记录(或一行数据),而每条记录中的不同字段(列)由逗号分隔。CSV 文件常用于数据交换、导入/导出、以及在电子表格软件(如 Excel)中查看数据

csv样式

IDFV,DAY,LEVEL
748158A1-3A21-4673-A625-F6ECBCA5B7FF,1,20
748158A1-3A21-4673-A625-F6ECBCA5B7FF,1,30

下载处理插件

npm install csv-parser

处理表头

npm install csv-parser

读取csv

const fs = require('fs');
const csv = require('csv-parser');
// 创建一个可读流,读取文件 'example.txt'
const readableStream = fs.createReadStream('C:/Users/yu/Desktop/majia/majia.csv', { encoding: 'utf8' })
    .pipe(csv());// 自动处理标题行,将每行转为对象

// 设置数据事件监听器
readableStream.on('data', (chunk) => {
    console.log('收到一个数据块:', chunk);
});

// 设置结束事件监听器
readableStream.on('end', () => {
    console.log('文件读取完成');
});

// 设置错误事件监听器
readableStream.on('error', (err) => {
    console.error('读取文件时出错:', err);
});

对象写入csv

npm install fast-csv
const fs = require('fs');
const { write } = require('@fast-csv/format');

const records = [
  { IDFV: '748158A1-3A21-4673-A625-F6ECBCA5B7FF', DAY: 1, LEVEL: '20' },
  { IDFV: '748158A1-3A21-4673-A625-F6ECBCA5B7FF', DAY: 1, LEVEL: '30' }
];

const ws = fs.createWriteStream('output.csv');

write(records, { headers: true })
  .pipe(ws)
  .on('finish', () => {
    console.log('CSV 文件已保存');
  });

xlsl格式

const xlsx = require('xlsx');

/**
 * json 转excell
 * @param {*} jsonData 
 * @param {*} pathUrl 
 */
function writeToExcell(jsonData, pathUrl) {
    const ws = xlsx.utils.json_to_sheet(jsonData);

    const wb = xlsx.utils.book_new();//创建一个新的工作簿

    xlsx.utils.book_append_sheet(wb, ws, 'Sheet1');

    //写入 Excel 文件
    xlsx.writeFile(wb, pathUrl);

    console.log('数据已写入 Excel 文件:' + pathUrl);
}


/**
 * excell 转 json
 * @param {*} url 
 * @returns 
 */
function readXlsxToJson(url) {
    // 读取 Excel 文件
    const workbook = xlsx.readFile(url);

    // 获取第一个工作表的名称
    const sheetName = workbook.SheetNames[0];

    // 获取工作表对象
    const sheet = workbook.Sheets[sheetName];

    // 将工作表数据转换为 JSON 格式
    const data = xlsx.utils.sheet_to_json(sheet);

    console.log(data);
    return data
}


module.exports = { writeToExcell, readXlsxToJson }

小结

Experiential Learning


http://www.kler.cn/a/557673.html

相关文章:

  • CentOS7.9下Greenplum6.19集群搭建
  • DeepSeek 助力 Vue 开发:打造丝滑的评论系统(Comment System)
  • SpringBoot中实现限流和熔断功能
  • Java 中 final 关键字的作用
  • LeetCode2506
  • Java 面试篇-MySQL 专题(如何定位慢查询、如何分析 SQL 语句、索引底层数据结构、什么是聚簇索引?什么是非聚簇索引?知道什么是回表查询?什么是覆盖索引?事务的特性、并发事务带来的问题?)
  • 答题卡识别阅卷系统(Matlab)
  • sklearn中的决策树-分类树:重要参数
  • 本地化部署 DeepSeek:从零到一的完整指南
  • DeepSeek03-ollama本地部署DeepSeek(NSFW)
  • leetcode 题目解析 第3题 无重复字符的最长子串
  • 标准I/O与文件I/O
  • 【DeepSeek-R1背后的技术】系列八:位置编码介绍(绝对位置编码、RoPE、ALiBi、YaRN)
  • Spring MVC 对象转换器:初级开发者入门指南
  • 【跟我学YOLO】(1)YOLO12:以注意力为中心的物体检测
  • 简聊RocketMQ如何确保顺序性
  • HADOOP_HOME and hadoop.home.dir are unset.
  • php处理图片出现内存溢出(Allowed memory size of 134217728 bytes exhausted)
  • 【网络编程】服务器模型(二):并发服务器模型(多线程)和 I/O 复用服务器(select / epoll)
  • 【多语言生态篇四】【DeepSeek×Rust:安全内存管理实践】