海量excel数据导出方案解决 xlswriter性能测试

Posted Z.X

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海量excel数据导出方案解决 xlswriter性能测试相关的知识,希望对你有一定的参考价值。

2021年5月28日19:29:20

xlswriter 中文官方网站 https://xlswriter-docs.viest.me/zh-cn 

windows10 环境laravel8 mysql

 第一次执行会慢一点,第二次就更快一点,服务器上开了opcache估计会更快一点

public function test(Request $request)
    {
        $start_time = date(\'Y-m-d H:i:s\');

        ini_set(\'memory_limit\', \'1024m\');
        $config = [
            \'path\' => public_path() . \'/upload\' // xlsx文件保存路径
        ];
        $excel = new Excel($config);

        $textFile = $excel->fileName("free.xlsx")->header([\'id\', \'name\', \'phone\', \'source\', \'province_name\', \'city_name\', \'data_time\', \'user_id\', \'user_nickname\', \'register_time\', \'up_user_id\', \'store_name\', \'is_pull_new\']);
        //大约11万数据
        foreach (BrokerMemberData::get() as $k => $v) {

            $textFile->insertText($k+1, 0, $v->id);
            $textFile->insertText($k+1, 1, $v->name);
            $textFile->insertText($k+1, 2, $v->phone);
            $textFile->insertText($k+1, 3, $v->source);
            $textFile->insertText($k+1, 4, $v->province_name);
            $textFile->insertText($k+1, 5, $v->city_name);
            $textFile->insertText($k+1, 6, $v->data_time);
            $textFile->insertText($k+1, 7, $v->user_id);
            $textFile->insertText($k+1, 8, $v->user_nickname);
            $textFile->insertText($k+1, 9, $v->register_time);
            $textFile->insertText($k+1, 10, $v->up_user_id);
            $textFile->insertText($k+1, 11, $v->store_name);
            $textFile->insertText($k+1, 12, $v->is_pull_new);
        }

        $filePath = $textFile->output();

        p(BrokerMemberData::count());
        p(\'执行成功 开始时间\' . $start_time . \'结束时间\' . date(\'Y-m-d H:i:s\'));
        p($filePath);
    }

执行结果

115135
执行成功 开始时间2021-05-29 10:45:04结束时间2021-05-29 10:45:10
D:\\phpstudy_pro\\WWW\\mc\\public/upload/free.xlsx

性能还不错

 其他方案:

 

以上是关于海量excel数据导出方案解决 xlswriter性能测试的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL海量数据导出到EXCEL

EXCEL大数据量导出的解决方案

VB中从SQL Server到Excel的海量数据导出

海量数据下如何使用多线程的导出 Excel

Python全栈100天学习笔记Day46 导入导出Excel报表和配置日志

Python全栈100天学习笔记Day46 导入导出Excel报表和配置日志