Thinkphp5+AJAX导出

本文展示了如何在Thinkphp5项目中利用AJAX实现无刷新导出Excel文件,涉及到的关键技术包括PHP和jQuery。文章提到,由于项目时间紧张,代码未进行封装,建议使用更现代的PhpSpreadsheet库代替已弃用的PHPExcel。
摘要由CSDN通过智能技术生成

Thinkphp5.*+AJAX导出

由于项目需要,导出只能使用ajax无刷新导出,关于ajax导出的详细代码做一个展示,由于项目时间紧急,没来得及封装,如果有更好的方式请在评论中留言,我会及时改正,代码质量问题大胆提出,我会加以改正,上代码!

jquery:

  $.post(options.extend.download_url,{'type':ids},function (msg) {
                                if (msg.code==1){
                                // 请求回来的文件进行导出
                                    window.location.href = msg.path;
                                    //删除导出文件
                                        $.post('Tools/del_file',{'path':msg.delpath},function (msg) {
                                           // TOOL你的逻辑代码
                                        });


                                }
                            });

PHP:

<?php


namespace app\admin\controller;

use think\Controller;
use think\Request;
use think\Db;

/**
 * 工具类
 * @author Liu-yuanhang
 * Class Tools
 * @package app\admin\controller
 */
class Tools
{
   
	//  自定义配置参数
	protected $setting=[];
	// 导出参数
	protected $exportsSetting=[];
	public function __construct ($setting=[],$exportsSetting=[]){
   
		$this->setting = $setting;
		$this->exportsSetting = $exportsSetting;
	}


	/**
	 * AJAX导出
	 * @param  string $expTitle 	表格标题
	 * @param  string $expFileName 导出文件名
	 * @param  string $expFileType 导出文件后缀:xls,csv
	 * @param  array  $expHeadArr 	导出文件列名
	 * @param  array  $expDataList 导出数据
	 * @author Liu-Yuanhang
	 * @return string|string[]
	 * @throws \PHPExcel_Exception
	 * @throws \PHPExcel_Reader_Exception
	 * @throws \PHPExcel_Writer_Exception
	 */
static function ajax_excel_prot($expFileName,$expDataList,$expHeadArr,$expFileType='xlsx'){
   
		$time = date('YmdHis',time());
		$expFileName .= "_".$time.".".$expFileType;
		//设置保存路径
		$basePath = request()->env('ROOT_PATH').
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值