[PHP] [PHP] PHPExcel을 활용한 Excel 2007 형식으로 다운로드

하나를하더라도최선을
2021-08-08 09:03
1,506
0
-
- 첨부파일 : PHPExcel-1.8.zip (5.0M) - 다운로드
본문
다운받은 파일을 압축을 풀고 압축푼 폴더의 "Classes" 폴더를 복사하여 php 원하는 폴더에 복사합니다.
다음으로 index.php 파일을 만들고 원하는 코딩을 하는데 반드시 아래 내용이 들어가야 합니다.
/** Include PHPExcel */
require_once 'Classes/PHPExcel.php';
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
// Set document properties
$objPHPExcel->getProperties()->setCreator("../../../")
->setLastModifiedBy("../../../")
->setTitle("../../../")
->setSubject("../../../")
->setDescription("../../../")
->setKeywords("../../../")
->setCategory("../../../");
해당 테이블의 데이터를 전체 다운받는 코드입니다.
$DB_TBLName = isset($tb_nm) ? $tb_nm : "pt_product"; //MySQL Table Name
$filename = $DB_TBLName.".xlsx"; //File Name
$col = "*";
$sql = "Select $col from $DB_TBLName";
$result = @mysql_query($sql,$con) or die("Couldn't execute query:<br>" . mysql_error(). "<br>" . mysql_errno());
$excelnm = iconv('UTF-8','EUC-KR',$filename);
$row_array = array();
$data_array = array();
for ($i = 0; $i < mysql_num_fields($result); $i++) {
$row_array[$i] = mysql_field_name($result,$i);
}
array_push($data_array, $row_array);
while($row = mysql_fetch_row($result))
{
$row_array = array();
for($j=0; $j<mysql_num_fields($result);$j++)
{
$col = mysql_field_name($result,$j);
if(!isset($row[$j]))
$row_array[$j] = "NULL";
elseif ($row[$j] != "")
if($col!='pd_img')
$row_array[$j] = $row[$j];
else
$row_array[$j] = "Bitmap Images";
else
$row_array[$j] = "";
}
array_push($data_array, $row_array);
}
$objPHPExcel->getActiveSheet()->fromArray($data_array,NULL,'A1');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$excelnm.'"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
문서 속성 설정된 결과입니다.
첨부파일은 글 작성 시점에서 라스트 버전입니다.
댓글목록0