>  기사  >  백엔드 개발  >  Excel로 PHP 쿼리 내보내기를 구현하는 방법

Excel로 PHP 쿼리 내보내기를 구현하는 방법

PHPz
PHPz원래의
2023-03-29 11:33:451527검색

현대 기술과 빅데이터 시대에 데이터 처리는 다양한 산업과 기업에서 없어서는 안될 중요한 연결고리가 되었습니다. 특히 인터넷 분야에서는 데이터 처리가 핵심 이슈입니다. WEB 개발 언어로서 PHP는 강력하고 널리 사용됩니다. 데이터 처리 측면에서도 PHP는 좋은 지원을 제공할 수 있습니다. 이 기사에서는 PHP를 사용하여 데이터를 쿼리하고 Excel로 내보내는 방법을 소개합니다.

1. PHP로 데이터베이스 쿼리

PHP에서 데이터베이스를 쿼리하고 데이터를 얻는 과정에서는 먼저 데이터베이스에 연결한 다음 데이터베이스를 선택하고 마지막으로 SQL 문을 실행해야 합니다. 일반적인 SQL 문과 비교하여 PHP의 SQL 문은 SQL 주입 공격을 방지하기 위해 이스케이프되어야 합니다.

데이터베이스에 연결하는 함수는 mysqli_connect()이며, 여기에는 호스트 이름, 사용자 이름, 비밀번호 및 데이터베이스 이름의 네 가지 매개변수가 포함되어 있습니다. 연결에 실패하면 false가 반환되고, 그렇지 않으면 데이터베이스 연결 개체가 반환됩니다.

$conn = mysqli_connect($servername, $username, $password, $dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

데이터베이스를 선택하는 함수는 mysqli_select_db()이며, 여기에는 데이터베이스 연결 개체와 데이터베이스 이름이라는 두 가지 매개 변수가 포함되어 있습니다.

mysqli_select_db($conn, $dbname);

SQL 문을 실행하는 함수는 mysqli_query()이며, 여기에는 데이터베이스 연결 개체와 SQL 문이라는 두 가지 매개 변수가 포함됩니다.

$sql = "SELECT * FROM `table1`";
$result = mysqli_query($conn, $sql);

위의 세 단계를 실행하면 $result 개체에 쿼리된 모든 데이터가 포함됩니다.

2. PHP로 Excel 내보내기

PHP로 Excel을 내보내는 방법에는 여러 가지가 있습니다. 이 기사에서는 더 간단한 방법 중 하나를 소개합니다. Excel을 처리하려면 Excel 파일을 읽고 쓰기 전에 설치해야 하는 PHPExcel 라이브러리를 사용해야 합니다.

Composer를 통해 PHPExcel 라이브러리를 설치할 수 있습니다:

composer require phpoffice/phpexcel

또는 압축된 패키지의 최신 버전을 수동으로 다운로드합니다:

https://github.com/PHPOffice/PHPExcel/releases

압축 해제 후 Classes 폴더를 프로젝트 디렉토리에 넣은 다음 PHPExcel 라이브러리를 도입합니다:

require_once 'Classes/PHPExcel.php';

엑셀 표는 주로 '작업'으로 구성된다. '책', '워크시트', '셀' 세 부분으로 구성된다. PHPExcel은 다양한 클래스와 메소드를 캡슐화하여 Excel 테이블을 쉽게 생성, 편집 및 저장할 수 있도록 해줍니다. 다음은 간단한 예입니다.

//创建PHPExcel对象
$objPHPExcel = new PHPExcel();

//设置工作簿属性
$objPHPExcel->getProperties()
    ->setCreator("Creator")
    ->setLastModifiedBy("Last Modified By")
    ->setTitle("Title")
    ->setSubject("Subject")
    ->setDescription("Description")
    ->setKeywords("keywords")
    ->setCategory("Category");

//创建工作表
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle('Sheet1');

//添加表头
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'ID');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Name');
$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Age');
$objPHPExcel->getActiveSheet()->setCellValue('D1', 'Gender');

//循环添加数据
$i = 2;
while ($row = mysqli_fetch_assoc($result)) {
    $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $row['id']);
    $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $row['name']);
    $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $row['age']);
    $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $row['gender']);
    $i++;
}

//设置列宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);

//设置单元格格式
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true);

//将表格导出为Excel文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="export.xlsx"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
exit;

이 예에서는 PHPExcel 개체를 먼저 만들고, 통합 문서와 워크시트 속성을 설정하고, 머리글과 데이터를 추가한 다음, 열 너비와 셀 형식을 설정합니다.

마지막으로 PHPExcel_IOFactory 클래스의 createWriter() 메서드를 통해 PHPExcel 개체의 데이터를 Excel 파일로 내보냅니다. 내보내기 전에 올바른 MIME 유형, 파일 이름 및 캐시 제어 헤더를 설정해야 합니다.

요약

위는 PHP를 사용하여 데이터베이스를 쿼리하고 Excel로 내보내는 기본 단계입니다. 효율적이고 유연한 프로그래밍 언어인 PHP는 데이터 처리를 위한 다양한 편리한 방법을 제공합니다. PHPExcel 라이브러리를 사용하면 Excel 파일을 쉽게 조작할 수 있으므로 유연한 데이터 처리 및 내보내기가 가능합니다.

위 내용은 Excel로 PHP 쿼리 내보내기를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.