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

网站制作唐山公司wordpress调用爱奇艺

网站制作唐山公司,wordpress调用爱奇艺,百度推广平台有哪些,营销软件大全在现代 Web 开发中,文件上传和解析是常见的需求。本文将介绍如何使用 React 和 Ant Design 库来处理 Excel 和 CSV 文件的上传,并将提取的表头信息展示在表格中。 1. 项目基础 确保你已经创建了一个 React 项目,并安装了必要的依赖。可以使…

       在现代 Web 开发中,文件上传和解析是常见的需求。本文将介绍如何使用 React 和 Ant Design 库来处理 Excel 和 CSV 文件的上传,并将提取的表头信息展示在表格中。 

1. 项目基础

确保你已经创建了一个 React 项目,并安装了必要的依赖。可以使用以下命令安装 Ant Design 和 ExcelJS:

npm install antd exceljs

2. 组件结构

我们将构建一个名为 Demo 的组件,该组件包含文件上传功能,并在上传后展示表头信息。

代码结构

import Authority from '@/util/Authority';
import { Button, Table, Upload } from 'antd';
import { ColumnsType } from 'antd/es/table';
import Excel, { CellValue } from 'exceljs';
import { useState } from 'react';const Demo = () => {const [headers, setHeaders] = useState<CellValue[]>([]);const authority = Authority.getInstance();const columns: ColumnsType<Record<string, any>> = [{title: '序号',dataIndex: 'index',key: 'index',align: 'center',render: (text: string, record: any, index: number) => index + 1,},{title: '名称',dataIndex: 'name',align: 'center',key: 'name',},];return (<><UploadmaxCount={1}accept=".xlsx,.csv"showUploadList={false}action="请求地址"headers={{Authorization: 你的token,}}data={(file) => {return {fileName: file.name,mimeType: file.type,};}}onChange={async (info) => {if (info.file.status === 'done') {const file = info.file.originFileObj;const workbook = new Excel.Workbook();const reader = new FileReader();reader.onload = async (e) => {const result = e.target?.result;if (info.file.name.endsWith('.csv')) {// 处理 CSV 文件const lines = (result as string)?.split('\n');const headers = lines[0].split(',');const newHeaders = headers.map((header) => header.trim());setHeaders(newHeaders);} else {// 处理 Excel 文件const buffer = result as ArrayBuffer;if (buffer) await workbook.xlsx.load(buffer);const worksheet = workbook.getWorksheet(1);const headers: CellValue[] = [];worksheet?.getRow(1).eachCell((cell) => {headers.push(cell.value);});setHeaders(headers);}};if (info.file.name.endsWith('.csv')) {reader.readAsText(file!);} else {reader.readAsArrayBuffer(file!);}}}}><Button id="upload">上传</Button></Upload>{headers.length > 0 && (<Tablestyle={{ width: 500 }}rowKey={(record, index) => `header${index}`}columns={columns}dataSource={headers.map((elem, index) => ({index,name: elem,}))}pagination={false}/>)}</>);
};
export default Demo;

3. 代码解析

3.1 组件导入

       我们首先导入了需要的组件和库,包括 Ant Design 的 Upload 和 Table 组件,以及 ExcelJS 用于处理 Excel 文件。

3.2 状态管理

使用 useState 钩子来管理表头数据:

const [headers, setHeaders] = useState<CellValue[]>([]);

3.3 列配置

我们定义了表格列配置,包含序号和名称两列:

const columns: ColumnsType<Record<string, any>> = [{title: '序号',dataIndex: 'index',key: 'index',align: 'center',render: (text: string, record: any, index: number) => index + 1,},{title: '名称',dataIndex: 'name',align: 'center',key: 'name',},
];

3.4 文件上传和解析

Upload 组件用于实现文件上传。我们通过 onChange 事件处理文件的读取和解析:

  • CSV 文件:读取文本并提取表头。
  • Excel 文件:使用 exceljs 库解析并获取第一行内容。

3.5 表格展示

在文件上传并成功解析后,使用 Table 组件展示表头信息。表格的 dataSource 通过 headers 数组动态生成,包含序号和名称。

4.运行效果

上传的源文件:

解析之后的表格

5. 总结

       本文展示了如何使用 React 和 Ant Design 处理文件上传,解析 Excel 和 CSV 文件,并将表头信息以表格形式展示。这个功能在数据管理和报表生成中非常有用。希望本文能帮助你快速实现类似功能,提升你的开发效率!


文章转载自:

http://J8QbUzqq.rykgh.cn
http://0QApWQMy.rykgh.cn
http://XQQxT3he.rykgh.cn
http://gcS6YC63.rykgh.cn
http://CsFAZVn7.rykgh.cn
http://a4FcmV6V.rykgh.cn
http://dUmTBoNK.rykgh.cn
http://ofyX7Sqq.rykgh.cn
http://U6mT5cYv.rykgh.cn
http://HvNcdyWL.rykgh.cn
http://VvizM6UM.rykgh.cn
http://IK4khg7f.rykgh.cn
http://Fk6WfvSK.rykgh.cn
http://XzIyRPfy.rykgh.cn
http://QJ8EcLMX.rykgh.cn
http://6alF77Oz.rykgh.cn
http://uWI8VawM.rykgh.cn
http://qAy0tKCT.rykgh.cn
http://0CwyZX4f.rykgh.cn
http://dSwfuCWj.rykgh.cn
http://3oqEMz0S.rykgh.cn
http://Z41U7Wiy.rykgh.cn
http://0kSVAo3n.rykgh.cn
http://gzxgkO5g.rykgh.cn
http://P8eHg7Nv.rykgh.cn
http://VACe4hnl.rykgh.cn
http://f9L1ht7j.rykgh.cn
http://3toVOdfr.rykgh.cn
http://5q785HHl.rykgh.cn
http://MRPhP77C.rykgh.cn
http://www.dtcms.com/wzjs/750632.html

相关文章:

  • 比较公司网站与营销网站的不同试玩网页游戏
  • 池州网站开发公司招聘游戏币销售网站建设
  • 威海 网站建设代理二级分销系统
  • 网站备案要到哪里下载网站微信认证
  • 淄博网站制作制作秦皇岛市第一医院
  • wordpress建中文网站进一步加强门户网站建设的通知
  • wordpress 如何建站中国建设网站简州新城土地整改项目
  • 微信公众号的跳转网站怎么做现在很多网站都是wordpress
  • 做的好的电商网站项目河北省正定县城乡建设网站
  • 代理充值平台网站企业网站优化解决方案
  • 四川省建设厅官方网站三内人员如何对seo进行优化
  • 高密 网站建设历史看过的网站
  • 网站建设责任书常用网站png
  • 工信部网站登陆关于加强网站建设
  • 国家建筑网站网课系统软件网站建设费用
  • 网站移动版怎么做wordpress iframe页面
  • 暴雪游戏有哪些seo推广培训学费
  • 辽宁省建设厅网站升级企业邮箱腾讯登录入口
  • 网站开发jsp福州关键词排名软件
  • 建设网站的企业文化学习心得
  • 企业免费自助建站平台山东华泰建设集团有限公司官方网站
  • 旅游网站开发开题报告银饰品网站建设规划策划书
  • 外发加工网站源码下载做微信电影网站
  • 模板之家中文版seo深度解析
  • 一个公司多个网站做优化西安企业注册
  • 微信h5商城网站网页搜索快捷键
  • 怎么制作网站商城百度推广 个人网站
  • 站长网站后台网站开发那个语言好
  • 宜昌网站设计房产信息查询网
  • 沂水做网站注册公司深圳