2019独角兽企业重金招聘Python工程师标准>>>
1:前端代码
<div id=‘export’>导出excel表单</div>
// //导入excel文件
$("#export").on('click', function(){
$.ajax({
url:"importexcel.php",
type:'POST',
dataType:'json',
data:{},
success:function(list) {
console.log(list)
location.href ="跳转页面";
},
error:function(){
console.log("请求失败")
}
});
});
2:PHP代码
//从数据库获取需要导出的数据
$stockData=$data['data']['data'];//获取数据
//调用导出的方法
exportData($stockData);//execl导出
die();
3:导出方法
function exportData($stockData){//execl导出
//加载excel类文件
require_once "/Excel/PHPExcel.php";
require_once '/Excel/PHPExcel/IOFactory.php';
require_once '/Excel/PHPExcel/Writer/Excel5.php';
$resultPHPExcel = new PHPExcel();//实例化Excel类
// 列名赋值
$resultPHPExcel->getActiveSheet()->setCellValue('A1', '编号')
->setCellValue('B1', '型号')
->setCellValue('C1', '品名')
->setCellValue('D1', '尺寸(毫米)')
->setCellValue('E1', '体积(立方米)')
->setCellValue('F1', '产品类别')
->setCellValue('G1', '产品属性')
->setCellValue('H1', '产品品类')
//设置表格宽度
$resultPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$resultPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
$resultPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(50);
$resultPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(30);
$resultPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(30);
$resultPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
$resultPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
$resultPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(20);
$i=2;//初始值
// 列名表头文字加粗
$resultPHPExcel->getActiveSheet()->getStyle('A1:H1')->getFont()->setBold(true);
// 列表头文字居中
$resultPHPExcel->getActiveSheet()->getStyle('A1H1')->getAlignment()
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
foreach($stockData as $item){
// 设置所有垂直居中
$resultPHPExcel->getActiveSheet()->getStyle('A' . ($i-1) . ':' . 'H' . $i)->getAlignment()
->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
// 设置格式为文本
$resultPHPExcel->getActiveSheet()->getStyle('A' . ($i-1) . ':' . 'H' . $i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
// 居中
$resultPHPExcel->getActiveSheet()->getStyle('A' . ($i-1) . ':' . 'H' . $i)->getAlignment()
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//赋值
$resultPHPExcel->getActiveSheet()->setCellValue('A' . $i, $i-1)
->setCellValue('B' . $i, $item['parts_model'])
->setCellValue('C' . $i, $item['parts_name'])
->setCellValue('D' . $i, $item['parts_length'].'*'.$item['parts_width'].'*'.$item['parts_height'])
->setCellValue('E' . $i, $item['parts_volume'])
->setCellValue('F' . $i, $item['class'])
->setCellValue('G' . $i, $attribute)
->setCellValue('H' . $i, $item['category'])
$i ++;
}
//表单名称
$typename='库存列表';
$outputFileName =$typename.'.xls';
// 设置sheet名
$resultPHPExcel->getActiveSheet()->setTitle('库存列表');
ob_end_clean();//清除缓冲区,避免乱码
$xlsWriter = new PHPExcel_Writer_Excel5($resultPHPExcel);
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="'.$outputFileName.'"');
header("Content-Transfer-Encoding: binary");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
$xlsWriter->save( "php://output" );
// die($data);
}