XLSX+ANT Upload实现从EXCEL导入数据操作

9 篇文章 0 订阅
7 篇文章 0 订阅
import { Button, Table, Upload, Icon} from 'antd';
 <Upload
                 				   onChange={(e) => {
                                        this.onFileChange(e);
                                    }}
                                    beforeUpload={() => false}
                                    accept={'.xls, .xlsx'}
                                >
                                    <Button>
                                        <Icon type="download" />{tableImportBtnTxt}
                                    </Button>
                                </Upload>
  onFileChange = (e) => {
        const { tableOnImportItems } = this.props;
        // debugger
        const file = e.file;
        let reader = new FileReader();
        reader.onload = (e) => {
            let data = e.target.result;
            let workbook = XLSX.read(data, { type: 'binary' });
            if (tableOnImportItems) {
                tableOnImportItems(workbook);
            }
        };
        reader.readAsBinaryString(file);
    };


 migrateLeadCommons = (workbook, callback) => {
        let sheet = workbook.Sheets.线索池;
        if (!sheet) {
            alert('sheet is null');
            callback();
            return;
        }

        let jsons = [];
        let i = 12;
        while (true) {
            if (!sheet['A' + i] || sheet['A' + i] === '') break;

            let json = {};
            json.valid = 1;
            if (sheet['A' + i]) json.name = sheet['A' + i].v;
            if (sheet['B' + i]) json.company = sheet['B' + i].v;
            if (sheet['C' + i]) json.dept = sheet['C' + i].v;
            if (sheet['D' + i]) json.title = sheet['D' + i].v;
            if (sheet['E' + i]) json.mobile = sheet['E' + i].v;
            if (sheet['F' + i]) json.wechat = sheet['F' + i].v;
            if (sheet['G' + i]) json.country = sheet['G' + i].v;
            if (sheet['H' + i]) json.province = sheet['H' + i].v;
            if (sheet['I' + i]) json.city = sheet['I' + i].v;
            if (sheet['J' + i]) json.area = sheet['J' + i].v;
            if (sheet['K' + i]) json.address = sheet['K' + i].v;
            if (sheet['L' + i]) json.zipcode = sheet['L' + i].v;
            if (sheet['M' + i]) json.comment = sheet['M' + i].v;
            jsons.push(json);
            i++;
        }

//	批量存储操作
        ERPUtil.handleMultiObjects(jsons, this.createOneLeadCommon, {}, callback);
    };
    
    tableOnImportItems = (workbook) => {
        this.migrateLeadCommons(workbook, data => {
            this.showSuccessMessage('批量导入完成')
        });
    };
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
qtxlsx 是一个用于在 Qt 框架中读写 Excel 文件的开源库,而 Qt Creator 则是一个用于开发 Qt 应用程序的集成开发环境(IDE)。在这里,我将介绍一个用 qtxlsx 和 Qt Creator 编写的操作 Excel 文件的小案例。 首先,我们需要在 Qt Creator 中创建一个新的 Qt 应用程序项目。在项目文件中引入 qtxlsx 库,并在.pro 文件中添加相关的库依赖。 然后,在主窗口中添加一个按钮和一个编辑框。按钮的功能是选择 Excel 文件并读取其中的内容,编辑框用于显示读取到的内容。 接下来,我们要使用 qtxlsx 进行 Excel 文件操作。为了实现这个目标,我们需要导入相应的头文件,并在按钮的点击事件中添加相关代码。在这个案例中,我们将选择一个 Excel 文件,并将其内容读取到一个 QStringList 对象中。然后,我们将 QStringList 对象中的内容显示在编辑框中。 为了实现这个功能,我们需要先创建一个 QXlsx::Document 对象,然后使用 `load()` 方法加载 Excel 文件。接着,我们使用 `sheetNames()` 方法获取 Excel 文件中的所有工作表名称,并使用 `read()` 方法读取指定工作表的内容。最后,将读取到的内容保存在 QStringList 对象中,并显示在编辑框中。 当用户点击按钮后,会触发一个信号,我们将创建的槽函数将在按钮点击事件发生时被调用,实现 Excel 文件的读取。当从 Excel 文件中读取内容后,我们可以根据需要对数据进行进一步的操作,比如进行计算、筛选等。 以上就是使用 qtxlsx 和 Qt Creator 编写的对 Excel 文件进行操作的小案例。通过这个案例,我们可以学习如何使用 qtxlsx 库读取 Excel 文件的内容,并在 Qt Creator 中进行相关的操作。这样的小案例可以帮助我们更好地理解和掌握 qtxlsx 和 Qt Creator 的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

本地是好的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值