下载csv 文件 后端下载 PHP 前端相关代码


一般来说都是后端创建csv 文件保存在服务器上 返回给前端下载地址


一、前端代码

<button id="downloadBtn" class="layui-btn layui-btn-sm">下载</button>




  function downloadFile(url) {
    // 创建隐藏的<a>标签,并设置下载属性
    var link = document.createElement('a');
    link.href = url;
    link.download = 'data.csv';

    // 模拟触发点击事件进行下载
    link.style.display = 'none';
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
}

$('#downloadBtn').click(function() {
  // 发送fetch请求获取CSV文件的下载链接
  fetch('/PendingInventory/export_data', { method: 'GET' })
    .then(response => response.text())
    .then(downloadUrl => {

      // 下载文件
      downloadFile(downloadUrl);
    })
    .catch(error => console.error('下载文件时出错:', error));
});

二、后端代码(PHP):

public function export_data(){
		
		$sql = "SELECT * FROM pending_inventorys";
		$res = $this->PendingInventorys->query($sql);
	
		$excel_data = [];
		foreach ($res as $v) {
			$row = array_map('strval', $v['pending_inventorys']);
			$excel_data[] = $row;
		}

		$title = array('id','清单编号','确认操作的清单编号','入库编号','批次号','sku','入库数量','批次数量','留样数量','实际装箱数量','采购人','装箱日期','出库日期','待处理天数','处理进度','处理人','处理方式','创建时间','修改时间');
		$row_format = array('string','string','string','string','string','string','integer','integer','integer','integer','string','string','string','string','string','string','string','string','string');
		$file_name = SYSTEM_ID.'待处理库存csv';
		App::import('Controller','DownLoadFile');
		$DownLoadFile = new DownLoadFileController();
		$file = $DownLoadFile->insunny_xlsx_load($title,$excel_data,$file_name,false,'',$row_format);
		echo 'http://' . $_SERVER['SERVER_NAME'] . str_replace('./','/',$file);
		exit;
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值