PHP导出excel

PHP导出excel。

用到phpspreadsheet包。

composer引入phpspreadsheet包:

方法1:
// 命令行进入到项目跟目录
cd F:\wamp\www\my_project

// 引入phpspreadsheet包
composer require phpoffice/phpspreadsheet


方法2:
编辑composer.json文件,加入引入phpspreadsheet包:
{
    "require": {
        "phpoffice/phpspreadsheet": "*"
    }
}

// 命令行进入到项目跟目录,执行更新
composer update

*如果composer下载速度慢,可以使用国内的库地址:

// 进入到项目跟目录,设置使用国内库地址
composer config repo.packagist composer https://mirrors.aliyun.com/composer/

// 执行后composer.json文件会自动写入:
"repositories": {
    "packagist": {
        "type": "composer",
        "url": "https://mirrors.aliyun.com/composer/"
    }
}

使用代码:

自定义excel类:

<?php
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

class Mexcel{

	static $field_enum = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');

	/* 导出excel */
	public static function exportExcel($data, $excel_title = array(), $file_name = 'data.xlsx') {
		$spreadsheet = new Spreadsheet();
		$sheet = $spreadsheet->getActiveSheet();
		$start_index = 1;
		if(!empty($excel_title)) {
			foreach ($excel_title as $key => $value) {
				$sheet->setCellValue(self::$field_enum[$key] . '1', $value);
			}
			$start_index = 2;
		}
		foreach ($data as $key => $value) {
			$field_index = 0;
			foreach ($value as $k => $v) {
				$sheet->setCellValue(self::$field_enum[$field_index] . ($key + $start_index), $v);
				$field_index++;
			}
		}

		header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
		header('Content-Disposition: attachment;filename="' . $file_name . '"');
		header('Cache-Control: max-age=0');//禁止缓存
		$writer = new Xlsx($spreadsheet);
		$writer->save('php://output');
	}




}

调用:

$excel_list = array(
	array('name' => 'test1', 'age' => 23, 'sex' => '男'),
	array('name' => 'test2', 'age' => 33, 'sex' => '男'),
	array('name' => 'test3', 'age' => 28, 'sex' => '女'),
	array('name' => 'test4', 'age' => 24, 'sex' => '男'),
);
$excel_title = array('姓名', '年龄', '性别');
\Mexcel::exportExcel($excel_list, $excel_title);

 

PHP 可以使用函数来导出 Excel 文件。你可以使用 PHPExcel 库来实现这一点。 你也可以使用 PHP 的 fputcsv 函数来手动创建 CSV 文件,然后将 CSV 文件导入到 Excel 中。 这是一个使用 PHPExcel导出 Excel 文件的例子: ``` <?php // 引入 PHPExcel 库文件 include 'PHPExcel.php'; // 创建 Excel 文件 $excel = new PHPExcel(); // 设置 Excel 文件属性 $excel->getProperties() ->setCreator("John Doe") ->setLastModifiedBy("John Doe") ->setTitle("Sample Excel File") ->setSubject("Sample Excel File") ->setDescription("Sample Excel File") ->setKeywords("office 2007 openxml") ->setCategory("Sample File"); // 在第一行添加标题 $excel->setActiveSheetIndex(0) ->setCellValue('A1', 'ID') ->setCellValue('B1', 'Name') ->setCellValue('C1', 'Email'); // 在下面的行中添加数据 $excel->setActiveSheetIndex(0) ->setCellValue('A2', 1) ->setCellValue('B2', 'John Doe') ->setCellValue('C2', 'john@example.com'); // 设置工作表名称 $excel->getActiveSheet()->setTitle('Sample Sheet'); // 设置第一个工作表为活动工作表 $excel->setActiveSheetIndex(0); // 将 Excel 文件保存到本地 $writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); $writer->save('excel.xlsx'); ?> ``` 这是使用 fputcsv 函数导出 CSV 文件的例子: ``` <?php // 设置标题行 $header = array('ID', 'Name', 'Email'); // 打开文件句柄 $fp = fopen('csv.csv', 'w'); // 写入标题行 fputcsv($fp, $header); // 写入数据行 $data = array(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值