顯示具有 PHP 標籤的文章。 顯示所有文章
顯示具有 PHP 標籤的文章。 顯示所有文章

2016年2月14日 星期日

[PHP] PHPExcel 欄位樣式 (框線/對齊/顏色)


[框線種類]

PHPExcel_Style_Border::BORDER_NONE 無框線
PHPExcel_Style_Border::BORDER_HAIR 極細線
PHPExcel_Style_Border::BORDER_THIN 細線
PHPExcel_Style_Border::BORDER_MEDIUM 普通線
PHPExcel_Style_Border::BORDER_THICK 粗線
PHPExcel_Style_Border::BORDER_DOUBLE 二重線
PHPExcel_Style_Border::BORDER_DOTTED 點線(細線)(短,.......)
PHPExcel_Style_Border::BORDER_DASHED 點線(細線)(長,-------)
PHPExcel_Style_Border::BORDER_MEDIUMDASHED 點線(普通線)(長)
PHPExcel_Style_Border::BORDER_DASHDOT 一點鎖線(細線)(-.-.-.-)
PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT 一點鎖線(普通線)
PHPExcel_Style_Border::BORDER_DASHDOTDOT 二點鎖線(細線)(-..-..-..-)
PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT 二點鎖線(普通線)
PHPExcel_Style_Border::BORDER_SLANTDASHDOT 斜邊一點鎖線

[對齊方式]
水平PHPExcel_Style_Alignment::HORIZONTAL_GENERAL 標準
PHPExcel_Style_Alignment::HORIZONTAL_CENTER 中央
PHPExcel_Style_Alignment::HORIZONTAL_LEFT 左
PHPExcel_Style_Alignment::HORIZONTAL_RIGHT 右
PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY 左右對齊
垂直
PHPExcel_Style_Alignment::VERTICAL_TOP 上
PHPExcel_Style_Alignment::VERTICAL_CENTER 中央
PHPExcel_Style_Alignment::VERTICAL_BOTTOM 下
PHPExcel_Style_Alignment::VERTICAL_JUSTIFY 上下對齊



[顏色]
PHPExcel_Style_Color::COLOR_BLACK 黑色
PHPExcel_Style_Color::COLOR_WHITE 白
PHPExcel_Style_Color::COLOR_RED 紅
PHPExcel_Style_Color::COLOR_DARKRED 暗紅色
PHPExcel_Style_Color::COLOR_BLUE 藍
PHPExcel_Style_Color::COLOR_DARKBLUE 深藍色
PHPExcel_Style_Color::COLOR_GREEN 綠
PHPExcel_Style_Color::COLOR_DARKGREEN 暗綠色
PHPExcel_Style_Color::COLOR_YELLOW 黃色
PHPExcel_Style_Color::COLOR_DARKYELLOW 暗黃色

[PHP] PHPExcel auto height not working



foreach($objPHPExcel->getActiveSheet()->getRowDimensions() as $rd) {
    $rd->setRowHeight(-1);
}

自動欄高語法無法執行 , 參考以下內容修改 PHPExcel/Writer/Excel2007/Worksheet.php 程式

加入紅字區段

private function _writeSheetData(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pStringTable = null)
(...)
                    // Row dimensions
                    if ($rowDimension->getRowHeight() >= 0) {
                        $objWriter->writeAttribute('customHeight', '1');
                        $objWriter->writeAttribute('ht', PHPExcel_Shared_String::FormatNumber($rowDimension->getRowHeight()));
                    } else {
                        $objWriter->writeAttribute('customHeight', 'false');
                        $objWriter->writeAttribute('ht', '0');
                    }
(...)




解決方式參考來源
https://phpexcel.codeplex.com/discussions/429322

2014年7月22日 星期二

PHP JSON 正常中文顯示


PHP 使用版本:5.1.6 ( 版本低於5.4以下解決方法)

json_encode 使用時,當遇到中文字串回自動轉成UNICODE編碼,以下範例當字串[中文顯示]經由 json_encode 轉換後變成[\u4e2d\u6587\u986f\u793a]

程式:
<?
  $item = array('status'=>'200','message'=>'中文顯示');
  echo json_encode($item);
?>
執行結果:
{"status":"200","message":"\u4e2d\u6587\u986f\u793a"}
當需要中文顯示時可利用 urlencode 先將中文字串先進行轉換讓 json_encode 讀入時不帶中文字碼 , 需輸出時再使用 urldecode 轉換回來 , 如下:

程式:
<?
  $item = array('status'=>'200','message'=>urlencode('中文顯示'));
  echo urldecode(json_encode($item));
?>
執行結果:
{"status":"200","message":"中文顯示"}





參考資料來源:芒果小站 / 一聚教程网 / PHP json_encode