phpexcel 匯出 顏色問題
用phpexcel做匯出的excel的顏色怎麼和網頁中的顏色顯示不一致呢?
PHP code
query("select * from oa_event_sales");while($a = $db->fetch_array($q)){ $list[] = $a;}$ce = new creatExcelDb();$re = $ce->_run($list,'served_time','client_status','oid');$all_nums=0;$num=array();foreach($re as $k=>$v){ $num[$k]=count($re[$k]); $all_nums+=count($re[$k]); }$jq = array();$title1 = client_status;$title2 = fin_confirm;$title3 = oid;//去除數組中相同的值foreach($re as $key => $val){ if(true){ foreach($val as $key2 => $val2){ if(!in_array($key2,$jq)){ $jq[] = $key2; } } }}$arr_keys=array();foreach($re as $k=>$v){ foreach($v as $k2=>$v2){ $arr_keys[]=$k2; } } $c=array_count_values($arr_keys);//++===++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // 建立一個處理對象執行個體 $objExcel = new PHPExcel(); // 建立檔案格式寫入對象執行個體, uncomment $objWriter = new PHPExcel_Writer_Excel5($objExcel); //設定文檔基本屬性/**似乎一般情況下用不到**/ $objProps = $objExcel->getProperties(); $objProps->setCreator("楊本木"); $objProps->setLastModifiedBy("楊本木"); $objProps->setTitle("楊本木"); $objProps->setSubject("楊本木"); $objProps->setDescription("楊本木"); $objProps->setKeywords("楊本木"); $objProps->setCategory("楊本木"); //************************************* //設定當前的sheet索引,用於後續的內容操作。 //一般只有在使用多個sheet的時候才需要顯示調用。 //預設情況下,PHPExcel會自動建立第一個sheet被設定SheetIndex=0 $objExcel->setActiveSheetIndex(0); $objActSheet = $objExcel->getActiveSheet(); //設定當前活動sheet的名稱 $objActSheet->setTitle('當前sheetname'); //設定寬度,這個值和EXCEL裡的不同,不知道是什麼單位,略小於EXCEL中的寬度 //$objActSheet->getColumnDimension('A')->setWidth(20); //$objActSheet->getRowDimension(1)->setRowHeight(30); //高度 //設定儲存格的值 $objActSheet->setCellValue('A1', '總標題顯示'); /* //設定樣式 $objStyleA1 = $objActSheet->getStyle('A1'); $objStyleA1->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objFontA1 = $objStyleA1->getFont(); $objFontA1->setName('宋體'); $objFontA1->setSize(18); $objFontA1->setBold(true); //設定列置中對齊 $objActSheet->getStyle('D')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); */ //============first=================================== $benmu=1; $objActSheet->setCellValue('A1', '列標籤\欄標籤'); foreach($jq as $k=>$v){ $objActSheet->setCellValue(get_excel_row($benmu).'1', $v); $benmu+=1; } $objActSheet->setCellValue(get_excel_row($benmu).'1', '總計'); //設定寬度 for($i=0;$i<$benmu+1;$i++){ $objActSheet->getColumnDimension(get_excel_row($i))->setWidth(20); //寬度 $objActSheet->getStyle(get_excel_row($i)."1")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objActSheet->getStyle(get_excel_row($i))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //顏色 $objActSheet->getStyle(get_excel_row($i)."1")->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objActSheet->getStyle(get_excel_row($i)."1")->getFill()->getStartColor()->setARGB(COLOR1); } //==============content================= $y=2; foreach($re as $k1=>$v1){ //$k1全部放在A2。。。。後面,k1為電話號碼、v1為person-》數字 $objActSheet->setCellValue('A'.$y, $k1); //顏色 $objActSheet->getStyle('A'.$y)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objActSheet->getStyle('A'.$y)->getFill()->getStartColor()->setARGB(COLOR1); foreach($jq as $k2=>$v2){ //k2是0,v2是person foreach($v1 as $k3=>$v3){ //$k3為person,$v3是要的值 if($k3==$v2){ //$objActSheet->setCellValue(get_excel_row("1"+$k2).$y,$v1[$k3]);$objActSheet->setCellValueExplicit(get_excel_row("1"+$k2).$y,$v1[$k3],PHPExcel_Cell_DataType::TYPE_STRING); } } } $objActSheet->setCellValue(get_excel_row("1"+count($jq)).$y, $num[$k1]); $y+=1; } //=================last========== $objActSheet->setCellValue("A".$y,"總計"); //顏色 $objActSheet->getStyle("A".$y)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objActSheet->getStyle("A".$y)->getFill()->getStartColor()->setARGB(COLOR1); foreach($jq as $k=>$v){ //k為person $objActSheet->setCellValue(get_excel_row("1"+$k).$y,$c[$v]); //顏色 $objActSheet->getStyle(get_excel_row("1"+$k).$y)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objActSheet->getStyle(get_excel_row("1"+$k).$y)->getFill()->getStartColor()->setARGB(COLOR1); } $objActSheet->setCellValue(get_excel_row("1"+count($jq)).$y,$all_nums); //顏色 $objActSheet->getStyle(get_excel_row("1"+count($jq)).$y)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objActSheet->getStyle(get_excel_row("1"+count($jq)).$y)->getFill()->getStartColor()->setARGB(COLOR1); //=============================== //輸出內容 $outputFileName =time().".xls"; header("Pragma: public"); header("Expires: 0"); header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); header("Content-Type:application/force-download"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download"); header('Content-Disposition:attachment;filename='.$outputFileName.''); header("Content-Transfer-Encoding:binary"); $objWriter->save('php://output'); ?>