如何导入导出数据到 Excel 文件

更新时间:2025-01-06 02:44:20

导入导出 Excel 数据

添加基础依赖

  1. 前端导出,使用 xlsx 库(https://g.alicdn.com/code/lib/xlsx/0.18.5/xlsx.mini.min.js

  2. 添加第三方库。

    image.png

导出数据

var sheet = XLSX.utils.json_to_sheet({json数据});
var b = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(b,sheet,"sheet名称");
XLSX.writeFile(b, "文件名称.xlsx");

导入数据

借用上传组件获取插入的 SQL 语句,在集成中插入执行。

创建集成

创建动态 SQL 语句执行集成sql_runimage

使用上传组件

image

  1. 限定上传组件选择文件的格式为表格.xlsx

  2. 配置上传动作默认

  3. 配置上传改变( change )事件执行自定义脚本。

    // 解码 Base64 数据
    function base64ToArrayBuffer(base64) {
        const binaryString = window.atob(base64);
        const len = binaryString.length;
        const bytes = new Uint8Array(len);
        for (let i = 0; i < len; i++) {
            bytes[i] = binaryString.charCodeAt(i);
        }
        return bytes.buffer;
    }
    
    // 使用 xlsx 库解析 Excel 数据并转换为对象数组
    function parseExcel(base64Data) {
        const arrayBuffer = base64ToArrayBuffer(base64Data);
        const workbook = XLSX.read(arrayBuffer, { type: 'array' });
    
        // 假设你的数据在第一个工作表
        const firstSheetName = workbook.SheetNames[0];
        const worksheet = workbook.Sheets[firstSheetName];
    
        // 将工作表数据转换为 JSON
        const jsonData = XLSX.utils.sheet_to_json(worksheet);
    
        return jsonData;
    }
    
    function convertJSON2SQL(jsonData) {
        let sql = "INSERT INTO table_name (column1, column2, column3) VALUES ";
        let values = [];
        for (const data of jsonData) {
            values.push(`('${data.column1}', '${data.column2}', '${data.column3}')`);
        }
        return sql + values.join(", ") + ";";
    }
    
    // 将 Base64 编码的 Excel 数据转换为对象数组
    const objectArray = parseExcel(upload.values[0].base64Data);
    
    const sql = convertJSON2SQL(objectArray);
    
    sql_run.trigger({
        "sql": sql
    });
  4. 根据自身需求修改convertJSON2SQLcolumn1,column2,column3为自己数据结构。

修改集成回调,为刷新数据列表

image

这里的集成操作为列表的数据的刷新操作,如果不需要刷新列表,可以忽略这一步。

  • 本页导读
  • 添加基础依赖
  • 导出数据
  • 导入数据
  • 创建集成
  • 使用上传组件
  • 修改集成回调,为刷新数据列表