"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PHP에서 별도의 셀을 사용하여 MySQL 데이터를 Excel로 내보내는 방법은 무엇입니까?

PHP에서 별도의 셀을 사용하여 MySQL 데이터를 Excel로 내보내는 방법은 무엇입니까?

2024-11-07에 게시됨
검색:699

How to Export MySQL Data to Excel with Separate Cells in PHP?

별도의 셀을 사용하여 PHP에서 MySQL 데이터를 Excel로 내보내기

MySQL 데이터를 Excel로 내보내는 동안 문제가 발생했습니다. 각 행 값에 대해 별도의 셀이 아닌 단일 셀에 표시됩니다. 이 문서의 목적은 코드의 각 줄을 처리하고 적절한 변경 사항을 권장함으로써 이 문제에 대한 해결책을 제공하는 것입니다.

Line 12: $count = mysql_num_fields($result);

이 줄은 결과 집합의 열 수를 계산하고 이를 $count 변수에 할당합니다.

14줄: $header .= mysql_field_name($result, $i). "\t";

이 줄은 탭으로 구분된 $header 변수에 열 이름을 추가합니다.

Line 24: if(!isset($value) || $value == ""){ $value = "\t"; }

이 줄에서 셀 값이 비어 있거나 정의되지 않은 경우 탭으로 대체됩니다. 이렇게 하면 모든 셀에 최소한 공백이 포함됩니다.

Line 28: $data .= Trim($line)."\n";

여기서 잘린 데이터 줄은 개행으로 구분된 $data 변수에 추가됩니다.

Line 38: header("Content-Disposition: attachment; filename=exportfile.xls");

이 줄에서 헤더는 브라우저가 파일을exportfile.xls라는 Excel 문서로 다운로드하도록 설정됩니다.

52줄: $result = @mysql_query( $sql,$Connect) 또는 die("쿼리를 실행할 수 없습니다:
" . mysql_error(). "
" . mysql_errno());

이 줄은 SQL 쿼리를 실행합니다. 잠재적인 오류를 처리합니다.

Line 63: header("Pragma: no-cache"); and header("Expires: 0");

이 헤더는 캐싱을 비활성화하여 각 요청 시 최신 데이터가 다운로드되도록 합니다.

Line 92: print Trim( $schema_insert);

이 줄에서는 잘린 데이터가 인쇄됩니다.

향상된 코드:

다음은 코드의 향상된 버전입니다. 그러면 Excel에서 별도의 셀로 데이터를 내보내는 문제가 해결됩니다.

$DB_Server = "localhost";
$DB_Username = "username";
$DB_Password = "password";
$DB_DBName = "databasename";
$DB_TBLName = "tablename";
$filename = "excelfilename";

$sql = "Select * from $DB_TBLName";
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect to MySQL:<br>" . mysql_error() . "<br>" . mysql_errno());
$Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database:<br>" . mysql_error(). "<br>" . mysql_errno());
$result = @mysql_query($sql,$Connect) or die("Couldn't execute query:<br>" . mysql_error(). "<br>" . mysql_errno());

header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=$filename.xls");
header("Pragma: no-cache");
header("Expires: 0");

$count = mysql_num_fields($result);

for ($i = 0; $i 
릴리스 선언문 이 글은 1729203864에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3