< require_once '../../../libs/PHPExcel/Classes/PHPExcel.php'; require_once '../../../libs/PHPExcel/Classes/PHPExcel/Writer/Excel5.php'; include_once '../../../libs/PHPExcel/Classes/PHPExcel/IOFactory.php'; include '../common/config.php'; // 建立一個處理對象執行個體(此對象對於2003 2007是相同的) $objExcel = new PHPExcel(); //設定屬性(這段代碼無關緊要,其中的內容可以替換為你需要的) $objExcel->getProperties()->setCreator("office 2003 excel"); $objExcel->getProperties()->setLastModifiedBy("office 2003 excel"); $objExcel->getProperties()->setTitle("Office 2003 XLS Test Document"); $objExcel->getProperties()->setSubject("Office 2003 XLS Test Document"); $objExcel->getProperties()->setDescription("Test document for Office 2003 XLS, generated using PHP classes."); $objExcel->getProperties()->setKeywords("office 2003 openxml php"); $objExcel->getProperties()->setCategory("Test result file"); //開始處理資料(索引從0開始) $objExcel->setActiveSheetIndex(0); $conn = mssql_connect($config['mssql']['host'],$config['mssql']['user'],$config['mssql']['password']); mssql_select_db($config['mssql']['dbname'],$conn); $tm=$_REQUEST['tm']; $sql = "exec HNow05_getTTSpace '','".$tm."','',1"; $sql=mb_convert_encoding($sql,'GBK','UTF-8'); $res=mssql_query($sql); $i=0; $k = array('站碼','站名','河系','來報時間','水位','水勢'); $count = count($k); $arrs = array('A','B','C','D','E','F'); //添加表頭 for($i=0;$i<$count;$i++){ $objExcel->getActiveSheet()->setCellValue($arrs[$i]."1", "$k[$i]"); } /*--------從資料庫讀取資料-------*/ $i=0; while($arr=mssql_fetch_array($res)) { $stcd = $arr["STCD"]; $stnm = $arr["STNM"]; $rvnm = $arr["RVNM"]; $tm= $arr["TM"]; $tdz= $arr["TDZ"]; $tdptn= $arr["TDPTN"]; if($tdptn=='6'){ $tdptn='平'; }else if($tdptn=='5'){ $tdptn='漲'; }else if($tdptn=='4'){ $tdptn='落'; } $u1=$i+2; $stnm=iconv("GBK","utf-8",$stnm); $rvnm=iconv("GBK","utf-8",$rvnm); $tm=iconv("GBK","utf-8",$tm); /*----------寫入內容-------------*/ $objExcel->getActiveSheet()->setCellValue('a'.$u1, "$stcd"); $objExcel->getActiveSheet()->setCellValue('b'.$u1, "$stnm"); $objExcel->getActiveSheet()->setCellValue('c'.$u1, "$rvnm"); $objExcel->getActiveSheet()->setCellValue('d'.$u1, "$tm"); $objExcel->getActiveSheet()->setCellValue('e'.$u1, "$tdz"); $objExcel->getActiveSheet()->setCellValue('f'.$u1, "$tdptn"); $i++; } /*----------設定儲存格邊框和顏色-------------*/ $rows = mssql_num_rows($res); for($i=0;$i<($rows+1);$i++){ for($j=0;$j<$count;$j++){ $a = $i+1; $objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getBorders()->getAllBorders()->getColor()->setARGB('FF00BBcc'); //水平置中 $objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); } } // 高置列的寬度 $objExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10); $objExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15); $objExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15); $objExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20); $objExcel->getActiveSheet()->getColumnDimension('E')->setWidth(10); $objExcel->getActiveSheet()->getColumnDimension('F')->setWidth(10); // 設定頁首和頁尾。如果沒有不同的標題奇數/即使是使用單頭假定. $objExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&BPersonal cash register&RPrinted on &D'); $objExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $objExcel->getProperties()->getTitle() . '&RPage &P of &N'); // 設定頁方向和規模 $objExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT); $objExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); // 重新命名表 $objExcel->getActiveSheet()->setTitle('即時潮汐情況'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objExcel->setActiveSheetIndex(0); // Redirect output to a client’s web browser (Excel5)儲存為excel2003格式 //設定Excel的名字 $excelName = '即時潮汐情況('.$tm.')'; //$excelName = 'Excel_'.date("YmdHis"); header('Content-Type: application/vnd.ms-excel'); header('Cache-Control: max-age=0'); header( 'Content-Disposition: attachment; filename='.iconv("utf-8", "GBK", $excelName).'.xls'); $objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5'); $objWriter->save('php://output'); exit;
?>
|