별도의 셀을 사용하여 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
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3