Excel文件数据转成JSON数据

Excel文件数据转成JSON数据

Excel文件数据转成JSON数据

场景:如果你从后端请求得来的是一些excel文件,在前端使用的是json数据,那么如何把excel文件的内容转成json数据使用呢?如果有需要,就请阅读此篇文章,希望可以帮到你

安装包

  • 1.package.josn
"dependencies": {
 	"xlsx": "^0.18.5",
 	"file-saver": "^2.0.5"
 }

导入

import * as XLSX from 'xlsx';

utils.js 文件使用

export async function convertExcelFile(filePath){
    let url = `api` //这里需要更换成实际场景中的接口地址
    try {
        const response = await axios.get(url, { responseType: 'arraybuffer' });

        // Convert the response data to a Uint8Array
        const data = new Uint8Array(response.data);

        // Read the Excel file
        const workbook = XLSX.read(data, { type: 'array' });

        // Assuming you have only one sheet in the Excel file
        const sheetName = workbook.SheetNames[0];
        const sheet = workbook.Sheets[sheetName];

        // Convert sheet data to JSON
        const jsonData = XLSX.utils.sheet_to_json(sheet, { header: 1 }); //数据是二维数组

        // Extract headers from the first row
        const headers = jsonData[0];

        // Create an array of objects
        const jsonArray = jsonData.slice(1).map(row => {
            const obj = {};
            headers.forEach((header, index) => {
                obj[header] = row[index];
            });
            return obj;
        });
        return jsonArray
    } catch (error) {
        console.error('Error fetching data:', error);
    }
}

备注:实际使用中如遇到问题或错误,欢迎评论区交流!