首页 > 编程语言 >JavaScript 导出csv

JavaScript 导出csv

时间:2024-09-06 13:25:13浏览次数:4  
标签:中文 const name JavaScript 导出 link array csv line

1. 修改指定列为中文

可以通过遍历数据对象,将需要转换为中文的字段值替换为中文显示。

2. 删除不需要的列

可以在导出数据之前,删除不需要的列(例如 id 列)。

示例代码

exportAsCSV() {
  // 原始数据
  const data = [
    { id: 1, name: 'John Doe', age: 28, job: 'Engineer' },
    { id: 2, name: 'Jane Smith', age: 22, job: 'Designer' }
  ];

  // 处理数据,转换为中文并去掉 id 列
  const processedData = data.map(item => {
    return {
      姓名: item.name,  // 将 name 列改为中文"姓名"
      年龄: item.age,    // 将 age 列改为中文"年龄"
      职位: item.job    // 将 job 列改为中文"职位"
    };
  });

  // 转换为 CSV 格式
  const csvData = this.convertToCSV(processedData);
  
  // 导出 CSV 文件
  const blob = new Blob([csvData], { type: 'text/csv;charset=utf-8;' });
  const link = document.createElement('a');
  const url = URL.createObjectURL(blob);
  
  link.href = url;
  link.setAttribute('download', 'data.csv');
  document.body.appendChild(link);
  link.click();
  document.body.removeChild(link);
}

// 将对象数组转换为 CSV 字符串
convertToCSV(objArray: any[]): string {
  const array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
  let str = '';
  
  // 获取并拼接表头
  const header = Object.keys(array[0]).join(',');
  str += header + '\r\n';
  
  // 获取并拼接数据行
  for (let i = 0; i < array.length; i++) {
    let line = '';
    for (const key in array[i]) {
      if (line != '') line += ',';
      line += array[i][key];
    }
    str += line + '\r\n';
  }
  return str;
}

标签:中文,const,name,JavaScript,导出,link,array,csv,line
From: https://www.cnblogs.com/TheAccountForNull/p/18400052

相关文章

  • JavaScript 中 structuredClone 和 JSON.parse(JSON.stringify()) 克隆对象的区别
    JavaScript中structuredClone和JSON.parse(JSON.stringify())克隆对象的异同点一、什么是structuredClone?1.structuredClone的发展structuredClone是在ECMAScript2021(ES12)标准中引入的,ECMAScript2021规范正式发布于2021年6月自2022年3月起,该功能适用于最......
  • defineExpose数据导出
    使用 <scriptsetup> 的组件是默认关闭的——即通过模板引用或者 $parent 链获取到的组件的公开实例,不会暴露任何在 <scriptsetup> 中声明的绑定。可以通过 defineExpose 编译器宏来显式指定在 <scriptsetup> 组件中要暴露出去的属性1.我们在使用之前定义一个......
  • JavaScript对象
    目录1.Json对象2.json对象和json字符串之间的转换 2.1json字符串->json对象2.2JS对象->JSON字符串3.BOM对象 3.1window对象(浏览器窗口对象)3,1,1.location属性3.1.2常用函数  3.2Location(地址栏对象) 4.DOM对象1.Json对象 JSON对象定义格式如下:{......
  • Javascript(基础) 笔记16
    dom操作①document ②object ③model一、查找1.getElementById()根据id值获取元素,返回符合的第一个元素(只会返回第一个)varx=document.getElementById("a");console.log(x);console.dir(x);//以对象形式打印x.style.background="red";x.style.color="yellow......
  • 【Azure Policy】分享Policy实现对Azure Activity Log导出到Log A workspace中
    问题描述使用AzurePolicy服务,对公司内部全部的订阅下的ActivityLog,都需要配置导出到LogAWorkspace中。以下Policy规则可以实现此目的。 Policy内容说明在PolicyRule部分中,选择资源的类型为 "Microsoft.Resources/subscriptions",效果使用 DeployIfNotExists(如果不存在,则......
  • JavaScript 中的 数据结构
    数据结构数据结构是计算机存储、组织数据的方式。1.数组数组是最最基本的数据结构,很多语言都内置支持数组。数组是使用一块连续的内存空间保存数据,保存的数据的个数在分配内存的时候就是确定的。2.栈栈是一种遵循后进先出(LIFO)原则的有序集合在栈里,新元素都接近栈顶,旧元素......
  • JavaScript中的数据类型-存储差别
    总结声明变量时不同的内存地址分配:简单类型的值存放在栈中,在栈中存放的是对应的值引用类型对应的值存储在堆中,在栈中存放的是指向堆内存的地址不同的类型数据导致赋值变量时的不同:简单类型赋值,是生成相同的值,两个对象对应不同的地址复杂类型赋值,是将保存对象的内存地......
  • 【Azure Policy】分享Policy实现对Azure Activity Log导出到Log A workspace中
    问题描述使用AzurePolicy服务,对公司内部全部的订阅下的ActivityLog,都需要配置导出到LogAWorkspace中。以下Policy规则可以实现此目的。 Policy内容说明在PolicyRule部分中,选择资源的类型为 "Microsoft.Resources/subscriptions",效果使用 DeployIfNotExists(如果不......
  • 本地机Spool出某个表的字段名和数据到csv
    之前是通过sqlcl提供的SETSQLFORMATcsv导出数据到csv文件,这次是想尝试仅仅是使用SQLplus中的spool导出数据数据准备SQL>SELECT*FROMEMPORDERBYEMPNO;EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO_________________________......
  • 【JavaScript学习第六天】—讲述JS学习历程的知识分享!
    前言本篇主要讲述了面向对象开发的特点,对象和类的概念与区别,包括详细讲解一个Tab选项卡案例一、面向对象在引出面向对象之前,我们首先要了解面向过程的概念面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了......