function curl_file_get_contents($url,$request=array()){
/*if ($request){
$req = '';
foreach($request as $key=>$val){ $req .= $key.'='.$val.'&';}
$req = rtrim($req,'&');
}*/
$useragent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36";
$curl = curl_init(); // 啟動一個CURL會話
curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址
curl_setopt($curl, CURLOPT_REFERER, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認證證書來源的檢查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 從證書中檢查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, $useragent); // 模擬用戶使用的瀏覽器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉
curl_setopt($curl, CURLOPT_ENCODING, "UTF-8"); // 編碼
curl_setopt($curl, CURLOPT_COOKIE, "cookieLangId=zh_tw;"); // 傳送cookie
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自動設置Referer
curl_setopt($curl, CURLOPT_POST, count($request)); // 發送一個常規的Post請求
curl_setopt($curl, CURLOPT_POSTFIELDS, $req); // Post提交的數據包
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); // 連線時間
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設置超時限制防止死循環
curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header區域內容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 獲取的信息以文件流的形式返回
$r = curl_exec($curl); // 執行操作
if (curl_errno($curl)) {
echo 'Errno'.curl_error($curl);//捕抓異常
}
curl_close($curl); // 關閉CURL會話
return $r;
}
2015年8月18日 星期二
【PHP】CURL HTTPS POST
2015年4月8日 星期三
【轉貼】領悟
1.看中一台電腦,需要9000元。
他每月的收入只有2000.
老婆對他說,你瘋了,你買了就離婚。
他問我怎麼辦。
我說,你配不上那個電腦。
連自己喜歡的東西都沒勇氣去爭取你將來在社會上還能混成啥樣?
他咬咬牙買了。為了還債他開始不停的兼職。
終於在一個月內還清了所有的餘款。
他的妻子並沒有因為他的瘋狂而離開他。
他的妻子把他帶進了車市,
說:老公,我們貸款買了這輛寶馬吧。
他一開始嚇死了。以為老婆是瘋了。
1年後他還清了寶馬的貸款。
【悟到】你連追求自己喜歡的事物與人的勇氣都沒有,你註定是個失敗者。
2.兩馬各拉一貨車。
一馬走得快,一馬慢吞吞。
於是主人把後面的貨全搬到前面。
後面的馬笑了:「切!越努力越遭折磨!」
誰知主人後來想:既然一匹馬就能拉車,幹嘛養兩匹?
最後懶馬被宰掉吃了。這就是經濟學中的懶馬效應。
【悟到】讓人覺得你可有可無,你被踢開的日子就不遠了。
3.夜市有兩個麵線攤位。
攤位相鄰、座位相同。
一年後,甲賺錢買了房子,乙仍無力購屋。
為何?原來,乙攤位生意雖好,但剛煮的麵線很燙,顧客要15分鐘吃一碗。
而甲攤位,把煮好的麵線在冰水裡泡30秒再端給顧客,溫度剛好。
【悟到】為客戶節省時間,錢才能進來快些。
4.一禪師見一蠍子掉到水裡,決心救它。
誰知一碰,蠍子蟄了他手指。
禪師無懼,再次出手,豈知又被蠍子狠狠蟄了一次。
旁有一人說:它老蜇人,何必救它?
禪師答:蜇人是蠍子的天性,而善是我的天性,
我豈能因為它的天性,而放棄了我的天性。
【悟到】我們的錯誤在於,因為外界過多地改變了自己。
5.曼德拉曾被關壓27年,受盡虐待。
他就任總統時,邀請了三名曾虐待過他的看守到場。
當曼德拉起身恭敬地向看守致敬時,
在場所有人乃至整個世界都靜了下來。
他說:當我走出囚室,邁過通往自由的監獄大門時,
我已經清楚,自己若不能把悲痛與怨恨留在身後,那麼我仍在獄中。
【悟到】原諒他人,其實是昇華自己。
6.有人問農夫:「種了麥子了嗎?」
農夫:「沒,我擔心天不下雨。」
那人又問:「那你種棉花沒?」
農夫:「沒,我擔心蟲子吃了棉花。」
那人再問:「那你種了什麼?」
農夫:「什麼也沒種,我要確保安全。」
【悟到】一個不願付出、不願冒風險的人,一事無成對他來說是再自然不過的事。
7.三人出門,一帶傘,一帶枴杖,一空手。
回來時,拿傘的濕透了,拿枴杖的跌傷了,第三個好好的。
原來,雨來時有傘的大膽地走,卻被淋濕了;
走泥路時,拄枴杖的莽撞地走,時常跌倒;
什麼都沒有的,大雨來時躲著走,路不好時小心走,反倒無事。
【悟到】很多時候,我們不是敗在缺陷上,而是敗在優勢裡。
2015年1月15日 星期四
【PHP】較不常用的 array function
$array1 = array('a','b','c','a');
$array2 = array('c','A','d','c');
// 相交(比對) Array ( [0] => c [3] => c )
$r1 = array_intersect($array2,$array1);
// 結合 (第一個變數為key 第二個為value) Array ( [a] => c [b] => A [c] => d )
$r2 = array_combine($array1,$array2);
// 出現次數 Array ( [a] => 2 [b] => 1 [c] => 1 )
$r3 = array_count_values($array1);
// 不同 Array ( [0] => a [1] => b [3] => a )
$r4 = array_diff($array1,$array2);
// 不同連key都要相同 Array ( [0] => a [1] => b [2] => c [3] => a )
$r5 = array_diff_assoc($array1,$array2);
// 是否有 1 的 key 值
$r6 = array_key_exists('1',$array1);
// 列出所有的key Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 )
$r7 = array_keys($array2);
// 結合陣列有相同的key會結合
$r8 = array_merge_recursive($array1,$array2);
// 亂數抓key
$r9 = array_rand($array1);
// 將值加入陣列
$r10 = array_push($array1,'d');
// 將value傳入function func($a,$b) 可傳多的值
$r11 = array_map("func",$array1,$array2);
// 將key及value傳入function func($value,$key) 一個變數為key
$r12 = array_walk($array1,"func");
// 目前第一個值
$r13 = current($array1);
// 指到下一個值
$r14 = next($array1);
// 洗牌
$r15 = shuffle($array1);
2015年1月8日 星期四
【Jquery】jQuery TWzipcode 地址縣市選擇
twzipcode 地址選擇縣市郵遞區號工具
方便的工具,不用自己寫ajax 官網
$(function(){
$('#addr').twzipcode({ // ID 名稱
countySel: '桃園市', // 城市預設值
districtSel: '平鎮區', // 地區預設值
zipcodeSel:'324', // 郵遞區號預設值
readonly:true, // 郵遞區號唯獨
css: ['county', 'district', 'zip'], // 個別的CSS 要另外自己寫
countyName: 'bill_county', // 城市欄位名稱
districtName: 'bill_district', // 地區欄位名稱
zipcodeName: 'bill_zip' // 郵遞區號欄位名稱
});
});
2014年12月18日 星期四
【PHP】PHP寄信 PHPMailer
1.一般寄信
※ $header 詳細說明: 連結
ini_set('SMTP','mail.threewell.com.tw');
$to ="wsxrtgvbuikm@gmail.com"; // 收件者
$subject = "發送測試"; //信件標題
$msg = '<!doctype html><html><head><meta charset="utf-8"></head><body><div style="background-color:#F00;color:#000" align="center">wsxrtgvbuikm@gmail.com</div></body></html>'; // 信件內容
$name = '賴俊銘'; // 寄件人
$sendMail = 'steven@threewell.com.tw'; // 寄件人信箱 要 smtp 允許的信箱
$headers = "From: ".$name ."<".$sendMail.">". "\r\n"; // 寄件人資料
$headers .= "Content-Type: text/html; charset=utf-8; format=flowed". "\r\n"; // 編碼方式 有用到html要用text/html
$headers .= "MIME-Version: 1.0". "\r\n"; // MIME版本
$headers .= "Content-Transfer-Encoding: 8bit". "\r\n"; // 8位元ASCII碼。
$headers .= "X-Mailer: PHP". "\r\n"; // 哪邊發送的
if(mail($to, $subject, $msg, $headers)):
echo '發送成功';
else:
echo '發送失敗';
endif;
2.PHPMailer-master 使用套件
ini_set('SMTP','mail.threewell.com.tw');
require 'PHPMailer-master/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->setLanguage('zh'); // 設定語系 沒用的語言可刪掉
$mail->CharSet = 'UTF-8'; // 編碼
$mail->setFrom('steven@threewell.com.tw', '賴俊銘'); // 寄件人信箱及寄件人
$mail->addAddress('wsxrtgvbuikm@gmail.com', 'wsxrtgvbuikm'); // 收件人信箱及收件人
$mail->Subject = '信件標題'; // 標題
$mail->msgHTML('<a href="#">wsxrtgvbuikm</a>中文中文'); // 內容
$mail->addAttachment('HDT8GN.jpg'); // 附件 可多個
$mail->addAttachment('HDT8GN2.jpg');
if (!$mail->send()) {
echo "寄信錯誤: " . $mail->ErrorInfo;
} else {
echo "寄信成功";
}
2014年12月10日 星期三
【PHP】串接 Yahoo 商城 API
1.API 文件
2.準備
首先要向 yahoo 提出申請 API,申請成功後會拿到 API Key 和 Secret,
API Key 就像帳號一樣,Shared Secret 是將資料編碼。
API Key 就像帳號一樣,Shared Secret 是將資料編碼。
3.製作簽章及使用API
製作簽章的方法在 Yahoo API 文件就有說明,
直接來實作抓取 Yahoo 商城分類,
在文件中找到 API > Product API > /v1/MallCategory/Get
固定的網址是 http://tw.ews.mall.yahooapis.com/stauth (後面加上功能名稱)
直接來實作抓取 Yahoo 商城分類,
在文件中找到 API > Product API > /v1/MallCategory/Get
固定的網址是 http://tw.ews.mall.yahooapis.com/stauth (後面加上功能名稱)
YahooAPI class
/*
* @author wsxrtgvbuikm@gmail.com
* 首先要先 define 以下幾個變數:
* 1.YAHOO_API_KEY : YAHOO申請的KEY
* 2.YAHOO_API_SECRET : YAHOO申請的SECRET
* 3.YAHOO_API_ID : YAHOO的帳號 (測試過其實亂打都過)
* 4.YAHOO_API_NAME : YAHOO的名稱 (通常是中文)
* 5.YAHOO_API_URL : http://tw.ews.mall.yahooapis.com/stauth
*/
header("Content-Type: text/html; charset=utf-8");
define('YAHOO_API_KEY','輸入API KEY');
define('YAHOO_API_SECRET','輸入API_SECRET');
define('YAHOO_API_ID','輸入ID');
define('YAHOO_API_NAME','輸入名稱');
define('YAHOO_API_URL','http://tw.ews.mall.yahooapis.com/stauth');
class YahooAPI {
public function yahoo_api($url,$arr=array(),$other_val=array()){
$url = YAHOO_API_URL.$url;
$auth_arr = array('ApiKey'=>YAHOO_API_KEY,
'TimeStamp'=>time(),
'Id'=>YAHOO_API_ID,
'Name'=>YAHOO_API_NAME,
'Format'=>'json'
);
$request_arr = array_merge($auth_arr,$arr);
// 會有編碼的問題所以用foreach
//$request = urldecode(http_build_query($request_arr));
$request = '';
foreach($request_arr as $key=>$val){
$request .= $key.'='.$val.'&';
}
$request = substr($request,0,-1);
// $request用SECRET sha1加密
$signature = hash_hmac('sha1',$request,YAHOO_API_SECRET);
$request_arr['Signature'] = $signature;
// 加入其他參數像是上傳圖片就不包含在加密範圍
$request_arr = array_merge($request_arr,$other_val);
$this->request = $request_arr;
$r = $this->curl_file_get_contents($url,$request_arr);
$arr = json_decode($r,true);
return $arr;
}
public function curl_file_get_contents($url,$request){
$ch = curl_init();
$timeout = 5;
$cookie = "cookieLangId=zh_tw;";
curl_setopt ($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_ENCODING, "UTF-8");
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt ($ch, CURLOPT_POST, true); // 啟用POST
curl_setopt ($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true);
$r = curl_exec($ch);
curl_close($ch);
return $r;
}
}
取得分類
include("YahooAPI.php");
$Yahoo = new YahooAPI();
// 取得 YAHOO 商城分類
$url = '/v1/MallCategory/Get';
$arr = array('CategoryId'=>$CategoryId);
$r = $Yahoo->yahoo_api($url,$arr);
print_r($r);
上傳商品範例
在文件上有標記(Require)一定要填,
有些是要用API先去查代碼,其他(Optional)沒有傳值就不要出現不然會失敗..
有些是要用API先去查代碼,其他(Optional)沒有傳值就不要出現不然會失敗..
$url = '/v2/Product/SubmitMain';
$arr = array('SaleType'=>'Normal', // 商品銷售方式
'SaleTypeInfo'=>'Normal', // 商品銷售資訊
'ProductName'=>$rs['NAME'], // 商品名稱
'MallCategoryId'=>$rs['YAHOO_CAT'], // 商城商品分類代號
'StoreCategoryId'=>$rs['YAHOO_STORE_CAT'], // 商品歸類
'MarketPrice'=>$rs['MARKET_PRICE'], // 商品市價
'SalePrice'=>$rs['PRICE'], // 網路價
'CostPrice'=>$rs['COST'], // 成本價
'MaxBuyNum'=>$rs['LIMIT_NUM'], // 最高購買數量
'ShortDescription'=>$rs['DESC'], // 商品簡述
'LongDescription'=>$rs['CONTENT'], // 商品介紹
'PayTypeId'=>'1', // 付款方式代號
'PayTypeId'=>'2', // 付款方式代號
'PayTypeId'=>'4', // 付款方式代號
'PayTypeId'=>'8', // 付款方式代號
'PayTypeId'=>'9', // 付款方式代號
'PayTypeId'=>'10', // 付款方式代號
'ShippingId'=>'1', // 物流方式代號
'ShippingId'=>'2', // 物流方式代號
'IsTaxFree'=>'0', // 此商品是否為免稅商品
'SpecTypeDimension'=>'0', // 商品規格
'CustomizedMainProductId'=>$rs['PRODUCT_ID'], // 商品主貨號
'Stock'=>$rs['STOCK'], // 商品庫存量
'SaftyStock'=>$rs['SAFYSTOCK'], // 商品庫存最低警告量
);
$return = $Yahoo->yahoo_api($url,$arr);
上傳圖片
$url = '/v1/Product/UploadImage';
$arr = array('ProductId'=>$productId, // 商品ID
'MainImage'=>'ImageFile1', // 第一張圖 可一次傳多張
'Purge'=>'true' // 是否保留原圖
);
// 商品圖系統路徑 - 因為這個不加入簽章所以要另外放
// 前面加上@ CURL 就會當成檔案上傳
$request_arr['ImageFile1'] = '@'.HTTP_REAL_PATH.$rs['IMAGE'];
$return = $this->yahoo_api($url,$arr,$request_arr);
2014年11月11日 星期二
【PHP】phpExcel範例
require_once("PHPExcel.php");
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setTitle(" List");
$objPHPExcel->getProperties()->setCategory(" List");
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', '商品編號');
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(13);
$objPHPExcel->getActiveSheet()->setCellValue('B1', '商品名稱');
$objPHPExcel->getActiveSheet()->setCellValue('C1', '醒目標題');
$objPHPExcel->getActiveSheet()->setCellValue('D1', '頁面標題');
$objPHPExcel->getActiveSheet()->setCellValue('E1', '頁面關鍵字');
$objPHPExcel->getActiveSheet()->setCellValue('F1', '頁面描述');
$objPHPExcel->getActiveSheet()->setCellValue('G1', '中類屬性');
$objPHPExcel->getActiveSheet()->setCellValue('H1', '小類屬性');
$objPHPExcel->getActiveSheet()->setCellValue('I1', '市價');
$objPHPExcel->getActiveSheet()->setCellValue('J1', '售價');
$objPHPExcel->getActiveSheet()->setCellValue('K1', '成本');
$objPHPExcel->getActiveSheet()->setCellValue('L1', '庫存數');
$objPHPExcel->getActiveSheet()->setCellValue('M1', '安全庫存數');
$objPHPExcel->getActiveSheet()->setCellValue('N1', '上架日');
$objPHPExcel->getActiveSheet()->setCellValue('O1', '下架日');
$objPHPExcel->getActiveSheet()->setCellValue('P1', '商品介紹');
$objPHPExcel->getActiveSheet()->setCellValue('Q1', '功能一標題');
$objPHPExcel->getActiveSheet()->setCellValue('R1', '功能一內容');
$objPHPExcel->getActiveSheet()->setCellValue('S1', '功能二標題');
$objPHPExcel->getActiveSheet()->setCellValue('T1', '功能二內容');
$objPHPExcel->getActiveSheet()->setCellValue('U1', '功能三標題');
$objPHPExcel->getActiveSheet()->setCellValue('V1', '功能三內容');
$objPHPExcel->getActiveSheet()->setCellValue('W1', '功能四標題');
$objPHPExcel->getActiveSheet()->setCellValue('X1', '功能四內容');
$objPHPExcel->getActiveSheet()->setCellValue('Y1', '功能五標題');
$objPHPExcel->getActiveSheet()->setCellValue('Z1', '功能五內容');
$objPHPExcel->getActiveSheet()->setCellValue('AA1', '功能六標題');
$objPHPExcel->getActiveSheet()->setCellValue('AB1', '功能六內容');
$objPHPExcel->getActiveSheet()->setCellValue('AC1', '功能七標題');
$objPHPExcel->getActiveSheet()->setCellValue('AD1', '功能七內容');
$objPHPExcel->getActiveSheet()->setCellValue('AE1', '功能八標題');
$objPHPExcel->getActiveSheet()->setCellValue('AF1', '功能八內容');
$objPHPExcel->getActiveSheet()->setCellValue('AG1', '商品圖片');
$i = 1;
foreach($datas['data'] as $rs)
{
$i++;
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, $a);
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $b);
$objPHPExcel->getActiveSheet()->setCellValue('C'.$i, $c);
$objPHPExcel->getActiveSheet()->setCellValue('D'.$i, $d);
$objPHPExcel->getActiveSheet()->setCellValue('E'.$i, $e);
$objPHPExcel->getActiveSheet()->setCellValue('F'.$i, $f);
$objPHPExcel->getActiveSheet()->setCellValue('G'.$i, $g);
$objPHPExcel->getActiveSheet()->setCellValue('H'.$i, $h);
$objPHPExcel->getActiveSheet()->setCellValue('I'.$i, $i);
$objPHPExcel->getActiveSheet()->setCellValue('J'.$i, $j);
$objPHPExcel->getActiveSheet()->setCellValue('K'.$i, $k);
$objPHPExcel->getActiveSheet()->setCellValue('L'.$i, $l);
$objPHPExcel->getActiveSheet()->setCellValue('M'.$i, $m);
$objPHPExcel->getActiveSheet()->setCellValue('N'.$i, $n);
$objPHPExcel->getActiveSheet()->setCellValue('O'.$i, $o;
$objPHPExcel->getActiveSheet()->setCellValue('P'.$i, $p);
$objPHPExcel->getActiveSheet()->setCellValue('Q'.$i, $q);
$objPHPExcel->getActiveSheet()->setCellValue('R'.$i, $r);
$objPHPExcel->getActiveSheet()->setCellValue('S'.$i, $s);
$objPHPExcel->getActiveSheet()->setCellValue('T'.$i, $t);
$objPHPExcel->getActiveSheet()->setCellValue('U'.$i, $u);
$objPHPExcel->getActiveSheet()->setCellValue('V'.$i, $v);
$objPHPExcel->getActiveSheet()->setCellValue('W'.$i, $w);
$objPHPExcel->getActiveSheet()->setCellValue('X'.$i, $x);
$objPHPExcel->getActiveSheet()->setCellValue('Y'.$i, $y);
$objPHPExcel->getActiveSheet()->setCellValue('Z'.$i, $z);
$objPHPExcel->getActiveSheet()->setCellValue('AA'.$i, $aa);
$objPHPExcel->getActiveSheet()->setCellValue('AB'.$i, $ab);
$objPHPExcel->getActiveSheet()->setCellValue('AC'.$i, $ac);
$objPHPExcel->getActiveSheet()->setCellValue('AD'.$i, $ad);
$objPHPExcel->getActiveSheet()->setCellValue('AE'.$i, $ae);
$objPHPExcel->getActiveSheet()->setCellValue('AF'.$i, $af);
$objPHPExcel->getActiveSheet()->setCellValue('AG'.$i, $ag);
}
// OUTPUT
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="output'.date("YmdHis").'.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
實用筆記整理
error_reporting(E_ALL);
date_default_timezone_set(‘Asia/Taipei’);
/** PHPExcel */
require_once ‘Classes/PHPExcel.php';
date_default_timezone_set(‘Asia/Taipei’);
/** PHPExcel */
require_once ‘Classes/PHPExcel.php';
// 新增Excel物件
$objPHPExcel = new PHPExcel();
$objPHPExcel = new PHPExcel();
// 設定屬性
$objPHPExcel->getProperties()->setCreator(“PHP")
->setLastModifiedBy(“PHP")
->setTitle(“Title")
->setSubject(“Subject")
->setDescription(“Description")
->setKeywords(“Keywords")
->setCategory(“Category");
$objPHPExcel->getProperties()->setCreator(“PHP")
->setLastModifiedBy(“PHP")
->setTitle(“Title")
->setSubject(“Subject")
->setDescription(“Description")
->setKeywords(“Keywords")
->setCategory(“Category");
//設定操作中的工作表
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->setActiveSheetIndex(0);
//將工作表命名
$objPHPExcel->getActiveSheet(0)->setTitle(‘第一張表’);
$objPHPExcel->getActiveSheet(0)->setTitle(‘第一張表’);
//合併儲存格
$objPHPExcel->getActiveSheet(0)->mergeCells(‘A1:D2′);
$objPHPExcel->getActiveSheet(0)->mergeCells(‘A1:D2′);
//儲存格內容
$objPHPExcel->getActiveSheet(0)->setCellValue(‘A1′,’PHPEXCEL TEST’); //合併後的儲存格,設定時指定左上角那個。
$objPHPExcel->getActiveSheet(0)->setCellValue(‘A3′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘B3′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘C3′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘D3′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘A4′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘B4′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘C4′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘D4′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘A1′,’PHPEXCEL TEST’); //合併後的儲存格,設定時指定左上角那個。
$objPHPExcel->getActiveSheet(0)->setCellValue(‘A3′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘B3′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘C3′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘D3′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘A4′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘B4′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘C4′,’test’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘D4′,’test’);
//設定背景顏色單色
$objPHPExcel->getActiveSheet(0)->getStyle(‘A3:D3′)->applyFromArray(
array(‘fill’ => array(
‘type’ => PHPExcel_Style_Fill::FILL_SOLID,
‘color’ => array(‘argb’ => ‘D1EEEE’)
),
)
);
//設定漸層背景顏色雙色(灰/白) 經測試,Excel2007才有漸層
$objPHPExcel->getActiveSheet(0)->getStyle(‘A1:D2′)->applyFromArray(
array(
‘font’ => array(‘bold’ => true,
‘size’ => ’24’),
‘alignment’ => array(‘horizontal’ => PHPExcel_Style_Alignment::HORIZONTAL_CENTER),
‘borders’ => array(‘top’ => array(‘style’ => PHPExcel_Style_Border::BORDER_THIN)),
‘fill’ => array(‘type’ => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
‘rotation’ => 90,
‘startcolor’ => array(‘rgb’ => ‘DCDCDC’),
‘endcolor’ => array(‘rgb’ => ‘FFFFFF’))
));
$objPHPExcel->getActiveSheet(0)->getStyle(‘A3:D3′)->applyFromArray(
array(‘fill’ => array(
‘type’ => PHPExcel_Style_Fill::FILL_SOLID,
‘color’ => array(‘argb’ => ‘D1EEEE’)
),
)
);
//設定漸層背景顏色雙色(灰/白) 經測試,Excel2007才有漸層
$objPHPExcel->getActiveSheet(0)->getStyle(‘A1:D2′)->applyFromArray(
array(
‘font’ => array(‘bold’ => true,
‘size’ => ’24’),
‘alignment’ => array(‘horizontal’ => PHPExcel_Style_Alignment::HORIZONTAL_CENTER),
‘borders’ => array(‘top’ => array(‘style’ => PHPExcel_Style_Border::BORDER_THIN)),
‘fill’ => array(‘type’ => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
‘rotation’ => 90,
‘startcolor’ => array(‘rgb’ => ‘DCDCDC’),
‘endcolor’ => array(‘rgb’ => ‘FFFFFF’))
));
//框線 方法一:使用 setBorderStyle() 函數
$objPHPExcel->getActiveSheet(0)->getStyle(‘A5′)->getBorders()->getTop() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet(0)->getStyle(‘B5′)->getBorders()->getBottom() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet(0)->getStyle(‘C5′)->getBorders()->getleft() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet(0)->getStyle(‘D5′)->getBorders()->getright() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet(0)->getStyle(‘A7:C10′)->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet(0)->getStyle(‘A5′)->getBorders()->getTop() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet(0)->getStyle(‘B5′)->getBorders()->getBottom() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet(0)->getStyle(‘C5′)->getBorders()->getleft() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet(0)->getStyle(‘D5′)->getBorders()->getright() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet(0)->getStyle(‘A7:C10′)->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//框線 方法二:使用applyFromArray()函數
$styleArray = array(
‘borders’ => array(
‘allborders’ => array(
‘style’ => PHPExcel_Style_Border::BORDER_THIN,
‘color’ => array(‘argb’ => ‘000000’),
),
),
);
$objPHPExcel->getActiveSheet(0)->getStyle(‘A12:C15′)->applyFromArray($styleArray);
$styleArray = array(
‘borders’ => array(
‘allborders’ => array(
‘style’ => PHPExcel_Style_Border::BORDER_THIN,
‘color’ => array(‘argb’ => ‘000000’),
),
),
);
$objPHPExcel->getActiveSheet(0)->getStyle(‘A12:C15′)->applyFromArray($styleArray);
//框線 方法三:使用物件 + applyFromArray()函數
$style_obj = new PHPExcel_Style();
$style_array = array( ‘borders’ => array(‘allborders’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THIN)),
‘alignment’ => array(‘wrap’=> true,
‘horizontal’ => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
‘vertical’ => PHPExcel_Style_Alignment::VERTICAL_CENTER
),
‘font’ => array(‘size’ => ‘8’)
);
$style_obj->applyFromArray($style_array);
$objPHPExcel->getActiveSheet(0)->setSharedStyle($style_obj, ‘E7:G10′);
$style_obj = new PHPExcel_Style();
$style_array = array( ‘borders’ => array(‘allborders’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THIN)),
‘alignment’ => array(‘wrap’=> true,
‘horizontal’ => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
‘vertical’ => PHPExcel_Style_Alignment::VERTICAL_CENTER
),
‘font’ => array(‘size’ => ‘8’)
);
$style_obj->applyFromArray($style_array);
$objPHPExcel->getActiveSheet(0)->setSharedStyle($style_obj, ‘E7:G10′);
//斜線 方法一
$styleArray = array(‘borders’ => array(‘diagonal’ => array(‘style’ => PHPExcel_Style_Border::BORDER_THICK,
‘color’ => array(‘argb’ => ‘FFFF0000′),
),
‘diagonaldirection’ => PHPExcel_Style_Borders::DIAGONAL_UP
//’diagonaldirection’ => PHPExcel_Style_Borders::DIAGONAL_DOWN
//’diagonaldirection’ => PHPExcel_Style_Borders::DIAGONAL_BOTH
),
);
$objPHPExcel->getActiveSheet()->getStyle(“E1″)->applyFromArray($styleArray);
$styleArray = array(‘borders’ => array(‘diagonal’ => array(‘style’ => PHPExcel_Style_Border::BORDER_THICK,
‘color’ => array(‘argb’ => ‘FFFF0000′),
),
‘diagonaldirection’ => PHPExcel_Style_Borders::DIAGONAL_UP
//’diagonaldirection’ => PHPExcel_Style_Borders::DIAGONAL_DOWN
//’diagonaldirection’ => PHPExcel_Style_Borders::DIAGONAL_BOTH
),
);
$objPHPExcel->getActiveSheet()->getStyle(“E1″)->applyFromArray($styleArray);
//斜線 方法二
$objPHPExcel->getActiveSheet()->getStyle(‘F1′)->getBorders()->getDiagonal()->applyFromArray(array(
‘style’ => PHPExcel_Style_Border::BORDER_THIN,
‘color’ => array(‘argb’ => ‘FFFF0000′)
)
);
$objPHPExcel->getActiveSheet()->getStyle(‘F1′)->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_DOWN);
/*
註:
PHPExcel_Style_Borders::DIAGONAL_UP
PHPExcel_Style_Borders::DIAGONAL_DOWN
PHPExcel_Style_Borders::DIAGONAL_BOTH
*/
$objPHPExcel->getActiveSheet()->getStyle(‘F1′)->getBorders()->getDiagonal()->applyFromArray(array(
‘style’ => PHPExcel_Style_Border::BORDER_THIN,
‘color’ => array(‘argb’ => ‘FFFF0000′)
)
);
$objPHPExcel->getActiveSheet()->getStyle(‘F1′)->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_DOWN);
/*
註:
PHPExcel_Style_Borders::DIAGONAL_UP
PHPExcel_Style_Borders::DIAGONAL_DOWN
PHPExcel_Style_Borders::DIAGONAL_BOTH
*/
//設定一個範圍後套用相同格式
$objPHPExcel->getActiveSheet(0)->mergeCells(‘E12:F13′);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘E12′,"Hello \n World");
$style_obj = new PHPExcel_Style();
$style_array = array( ‘borders’ => array(‘allborders’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THIN)),
‘alignment’ => array(‘wrap’=> true,
‘horizontal’ => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
‘vertical’ => PHPExcel_Style_Alignment::VERTICAL_CENTER
),
‘font’ => array(‘size’ => ‘8’)
);
$style_obj->applyFromArray($style_array);
$objPHPExcel->getActiveSheet(0)->setSharedStyle($style_obj, “E12:G14″);
$objPHPExcel->getActiveSheet(0)->mergeCells(‘E12:F13′);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘E12′,"Hello \n World");
$style_obj = new PHPExcel_Style();
$style_array = array( ‘borders’ => array(‘allborders’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THIN)),
‘alignment’ => array(‘wrap’=> true,
‘horizontal’ => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
‘vertical’ => PHPExcel_Style_Alignment::VERTICAL_CENTER
),
‘font’ => array(‘size’ => ‘8’)
);
$style_obj->applyFromArray($style_array);
$objPHPExcel->getActiveSheet(0)->setSharedStyle($style_obj, “E12:G14″);
//設定字型(粗細、顏色) 也可參照上面的方法,用陣列的方式設定。
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getFont()->setName(‘Candara’);
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getFont()->setSize(16);
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLUE); //藍色
$objPHPExcel->getActiveSheet(0)->getStyle(‘C4′)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); //紅色
$objPHPExcel->getActiveSheet(0)->getStyle(‘C4′)->getFont()->getColor()->setARGB(‘FF0000′); //紅色
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getFont()->setName(‘Candara’);
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getFont()->setSize(16);
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLUE); //藍色
$objPHPExcel->getActiveSheet(0)->getStyle(‘C4′)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); //紅色
$objPHPExcel->getActiveSheet(0)->getStyle(‘C4′)->getFont()->getColor()->setARGB(‘FF0000′); //紅色
$objPHPExcel->getActiveSheet(0)->setCellValue(‘G2′, ‘2008-12-31′);
$objPHPExcel->getActiveSheet(0)->getStyle(‘G2′)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH);
$objPHPExcel->getActiveSheet(0)->getStyle(‘G2′)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH);
/*
註:這裡有列出可用英文單字表示的顏色,並不多。
註:這裡有列出可用英文單字表示的顏色,並不多。
COLOR_BLACK
COLOR_BLUE
COLOR_DARKBLUE
COLOR_DARKGREEN
COLOR_DARKRED
COLOR_DARKYELLOW
COLOR_GREEN
COLOR_RED
COLOR_WHITE
COLOR_YELLOW
COLOR_BLUE
COLOR_DARKBLUE
COLOR_DARKGREEN
COLOR_DARKRED
COLOR_DARKYELLOW
COLOR_GREEN
COLOR_RED
COLOR_WHITE
COLOR_YELLOW
*/
//使用函數
$objPHPExcel->getActiveSheet(0)->setCellValue(‘A5′,’3′);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘B5′,’4′);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘C5′, ‘=SUM(A5:B5)’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘A5′,’3′);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘B5′,’4′);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘C5′, ‘=SUM(A5:B5)’);
//設定A3內容為00123,並指定為文字型態。這樣在顯示的時候不會自動把0去掉。$objPHPExcel->getActiveSheet(0)->getCell(“A4″)->setValueExplicit(‘00123′, PHPExcel_Cell_DataType::TYPE_STRING);
//分離儲存格
//$objActSheet->unmergeCells(‘B1:C22′);
//$objActSheet->unmergeCells(‘B1:C22′);
//設定欄寬
$objPHPExcel->getActiveSheet(0)->getColumnDimension(‘A’)->setWidth(20);
$objPHPExcel->getActiveSheet(0)->getColumnDimension(‘A’)->setWidth(20);
//設定欄寬(自動欄寬)
//$objPHPExcel->getActiveSheet(0)->getColumnDimension(“A")->setAutoSize(true);
//$objPHPExcel->getActiveSheet(0)->getColumnDimension(“A")->setAutoSize(true);
//設定高度
$objPHPExcel->getActiveSheet(0)->getRowDimension(‘1′)->setRowHeight(150);
$objPHPExcel->getActiveSheet(0)->getRowDimension(‘1′)->setRowHeight(150);
//下底線
$objPHPExcel->getActiveSheet(0)->getStyle(“D3″)->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objPHPExcel->getActiveSheet(0)->getStyle(“D3″)->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
//旋轉文字
$objPHPExcel->getActiveSheet(0)->getStyle(‘A4′)->getAlignment()->setTextRotation(-90);
//對齊 //注意是 setVertiacl 還是 setHorizontal
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet(0)->getStyle(‘C4′)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
/*
VERTICAL_CENTER 垂直置中
VERTICAL_TOP
HORIZONTAL_CENTER
HORIZONTAL_RIGHT
HORIZONTAL_LEFT
HORIZONTAL_JUSTIFY
*/
//add comment ———————————————–
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->setAuthor(‘PHPExcel’);
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->getText()->createTextRun(‘comment1 comment1 comment1 ‘);
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->setWidth(‘200pt’);
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->setHeight(‘100pt’);
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->setMarginLeft(‘150pt’);
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->getFillColor()->setRGB(‘dea66e’); //背景顏色
$objCommentRichText = $objPHPExcel->getActiveSheet()->getComment(‘A6′)->getText()->createTextRun(‘comment2 comment2 comment2 ‘);
$objCommentRichText->getFont()->setBold(true); //文字加粗
$objCommentRichText->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); //文字顏色
$objPHPExcel->getActiveSheet(0)->getStyle(‘A4′)->getAlignment()->setTextRotation(-90);
//對齊 //注意是 setVertiacl 還是 setHorizontal
$objPHPExcel->getActiveSheet(0)->getStyle(‘B4′)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet(0)->getStyle(‘C4′)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
/*
VERTICAL_CENTER 垂直置中
VERTICAL_TOP
HORIZONTAL_CENTER
HORIZONTAL_RIGHT
HORIZONTAL_LEFT
HORIZONTAL_JUSTIFY
*/
//add comment ———————————————–
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->setAuthor(‘PHPExcel’);
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->getText()->createTextRun(‘comment1 comment1 comment1 ‘);
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->setWidth(‘200pt’);
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->setHeight(‘100pt’);
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->setMarginLeft(‘150pt’);
$objPHPExcel->getActiveSheet()->getComment(‘A6′)->getFillColor()->setRGB(‘dea66e’); //背景顏色
$objCommentRichText = $objPHPExcel->getActiveSheet()->getComment(‘A6′)->getText()->createTextRun(‘comment2 comment2 comment2 ‘);
$objCommentRichText->getFont()->setBold(true); //文字加粗
$objCommentRichText->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); //文字顏色
———————————————————————————–
———————————————————————————–
// 設定格式:使用物件的方式
$style_obj = new PHPExcel_Style();
$styleArray = array(‘borders’ => array(‘left’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THICK),
‘top’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THIN),
‘right’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THIN),
‘bottom’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THIN)
));
$style_obj->applyFromArray($styleArray);
———————————————————————————–
// 設定格式:使用物件的方式
$style_obj = new PHPExcel_Style();
$styleArray = array(‘borders’ => array(‘left’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THICK),
‘top’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THIN),
‘right’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THIN),
‘bottom’=> array(‘style’ => PHPExcel_Style_Border::BORDER_THIN)
));
$style_obj->applyFromArray($styleArray);
$letter = PHPExcel_Cell::stringFromColumnIndex(0); //A
$cellname1 = $letter.’1′; // A1
$cellname2 = $letter.7; // A7
$cell_range = “$cellname1:$cellname2″;
$sheet->setSharedStyle($style_obj, “$cell_range");
$cellname1 = $letter.’1′; // A1
$cellname2 = $letter.7; // A7
$cell_range = “$cellname1:$cellname2″;
$sheet->setSharedStyle($style_obj, “$cell_range");
// 設定格式:使用陣列
$styleArray = array(
‘borders’ => array(
‘allborders’ => array(
‘style’ => PHPExcel_Style_Border::BORDER_THIN,
‘color’ => array(‘argb’ => ‘000000’)
),
),
‘font’ => array(‘bold’ => true,
‘size’ => ’12’,
‘color’ => array(‘argb’ => ‘FF0000′)
)
);
$objPHPExcel->getActiveSheet(0)->getStyle(‘A12:C15′)->applyFromArray($styleArray);
‘borders’ => array(
‘allborders’ => array(
‘style’ => PHPExcel_Style_Border::BORDER_THIN,
‘color’ => array(‘argb’ => ‘000000’)
),
),
‘font’ => array(‘bold’ => true,
‘size’ => ’12’,
‘color’ => array(‘argb’ => ‘FF0000′)
)
);
$objPHPExcel->getActiveSheet(0)->getStyle(‘A12:C15′)->applyFromArray($styleArray);
// 註解
$comment = “This is comment";
$sheet->getComment(“F1″)->getFillColor()->setRGB(‘FFFAD9′); //背景顏色
$sheet->getComment(“F1″)->setWidth(‘320pt’);
$objCommentRichText = $sheet->getComment(“F1″)->getText()->createTextRun(“$comment");
$objCommentRichText->getFont()->getColor()->setRGB(‘008080′); //文字顏色
$objCommentRichText->getFont()->setBold(true); //文字加粗
$sheet->getComment(“F1″)->getFillColor()->setRGB(‘FFFAD9′); //背景顏色
$sheet->getComment(“F1″)->setWidth(‘320pt’);
$objCommentRichText = $sheet->getComment(“F1″)->getText()->createTextRun(“$comment");
$objCommentRichText->getFont()->getColor()->setRGB(‘008080′); //文字顏色
$objCommentRichText->getFont()->setBold(true); //文字加粗
———————————————————————————–
// 設定其它工作表
// 設定其它工作表
$objPHPExcel->createSheet();
$objPHPExcel->setActiveSheetIndex(1);
$objPHPExcel->getActiveSheet()->setTitle(‘第二張表’);
$objPHPExcel->getActiveSheet()->setCellValue(‘A3′,"test1″);
$objPHPExcel->getActiveSheet()->setCellValue(‘B3′,’test2′);
$objPHPExcel->setActiveSheetIndex(1);
$objPHPExcel->getActiveSheet()->setTitle(‘第二張表’);
$objPHPExcel->getActiveSheet()->setCellValue(‘A3′,"test1″);
$objPHPExcel->getActiveSheet()->setCellValue(‘B3′,’test2′);
$objPHPExcel->setActiveSheetIndex(0);
//若要在 2003 跟 2007 之間切換,選然下面兩段其中一段即可。
//Excel 2007
header(‘Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’);
header(‘Content-Disposition: attachment;filename="01simple.xlsx"‘);
header(‘Cache-Control: max-age=0′);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel2007′);
/*
//Excel 2003
header(‘Content-Type: application/vnd.ms-excel’);
header(‘Content-Disposition: attachment;filename="01simple.xls"‘);
header(‘Cache-Control: max-age=0′);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5′); //Excel 2003 = Excel 5
*/
//若要在 2003 跟 2007 之間切換,選然下面兩段其中一段即可。
//Excel 2007
header(‘Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’);
header(‘Content-Disposition: attachment;filename="01simple.xlsx"‘);
header(‘Cache-Control: max-age=0′);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel2007′);
/*
//Excel 2003
header(‘Content-Type: application/vnd.ms-excel’);
header(‘Content-Disposition: attachment;filename="01simple.xls"‘);
header(‘Cache-Control: max-age=0′);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5′); //Excel 2003 = Excel 5
*/
//========================================================
$objWriter->save(‘php://output’);
exit;
$objWriter->save(‘php://output’);
exit;
2014年11月3日 星期一
【jquery】post 使用 json 傳值
post 使用 json 傳值
js
$.post("userorder_v2.php",{mod:'detail',orderid:$orderid},function ($data){
// 判斷CSS是否要隱藏
for($key in $data.data){
if (!$data.data[$key]){
$("#ar-"+$key).hide();
}else{
$("#ar-"+$key).show();
}
$thisValue = $(".od-" + $key);
// 加上另外的處理
if ($thisValue.hasClass("plus")){ // +
$data.data[$key] = '+'+$data.data[$key];
}else if ($thisValue.hasClass("less")){
$data.data[$key] = '-'+$data.data[$key];
}
// 將值放入對應的CSS中
$thisValue.html($data.data[$key]);
}
},"json");
HTML:
<table border="0" cellspacing="2" cellpadding="5" width="760"> <tr> <th colspan="4" align="center">訂單資料</th> </tr> <tbody> <tr> <td width="100" align="center">訂單編號</td> <td width="200" class="od-orderid"></td> <td width="100" align="center">付款方式</td> <td class="od-payWayName"></td> </tr> <tr> <td align="center">訂單金額</td> <td class="od-order_total"></td> <td align="center">取貨方式</td> <td class="od-get_goods_name"></td> </tr> <tr> <td align="center">訂單日期</td> <td class="od-order_time"></td> <td align="center"><span id="ar-identity">訂購身分</span></td> <td class="od-identity"></td> </tr> <tr> <td align="center">訂單狀態</td> <td colspan="3" class="od-shipName"></td> </tr> <tr> <td align="center">收貨地址</td> <td colspan="3" class="od-address"></td> </tr> <tr> <td align="center">gt;備註</td> <td colspan="3" class="od-comp_note"></td> </tr> </tbody> </table>
2014年10月8日 星期三
【CSS】顯示表格空白(empty-cells)、框線合併(border-collapse)
empty-cells
empty-cells:show -> 顯示空白表格
empty-cells:hide -> 不顯示空白表格 - 預設
empty-cells:inherit -> 繼承父屬性
| 1 | 2 |
| 3 |
border-collapse
border-collapse:collapse -> 框限線會合併
border-collapse:separate -> 框線分開
| 1 | 2 |
| 3 |
<style>
#wsxrtgvbuikm14010082 .t1{
color:#1A6811;
font-family: "微軟正黑體";
font-size:24px;
padding: 0 10px;
}
#wsxrtgvbuikm14010082 .t2{
color:#1F1C97;
font-family: "微軟正黑體";
font-size:16px;
padding: 0 10px;
margin-top:8px;
margin-bottom:8px;
}
#wsxrtgvbuikm14010082 .t3{
color:#000;
font-family: "微軟正黑體";
font-size:16px;
padding: 0 5px;
}
#wsxrtgvbuikm14010082 .table-1 {
width:300px;
margin-left:10px;
}
#wsxrtgvbuikm14010082 .table-1 td{
border:1px solid #0088dd;
padding:15px;
empty-cells:hide;
}
#wsxrtgvbuikm14010082 .table-2 {
width:300px;
border-collapse:collapse;
margin-left:10px;
}
#wsxrtgvbuikm14010082 .table-2 td{
border:1px solid #0088dd;
padding:15px;
empty-cells:hide;
}
</style>
<div id="wsxrtgvbuikm14010082">
<div class="t1">empty-cells</div>
<div class="t2">empty-cells:show -> 顯示空白表格</div>
<div class="t2">empty-cells:hide -> 不顯示空白表格 - 預設</div>
<div class="t2">empty-cells:inherit -> 繼承父屬性</div>
<div>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table-1">
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td></td>
</tr>
</table>
</div>
<div class="t1" style="margin-top:30px;">border-collapse</div>
<div class="t2">border-collapse:collapse -> 框限線會合併</div>
<div class="t2">border-collapse:separate -> 框線分開</div>
<div>
<table width="100%" border="1" cellspacing="0" cellpadding="0" class="table-2">
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td></td>
</tr>
</table>
</div>
【CSS】list-style-position
項目符號的位置:list-style-position
list-style-position:outside -> 不縮排
list-style-position:inherit -> 如果有第二排會縮排 預設值
- SELECT TOP 20 text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY qs.creation_time DESC
- SELECT TOP 20 text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY qs.creation_time DESC
- SELECT TOP 20 text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY qs.creation_time DESC
// CSS
.demo{
width:300px;
margin:0px;
padding-left:30px;
list-style-position:inside;
}
.demo li{
margin-top:10px;
list-style:circle;
}
ul.demo2{ /* 一定要用ul的樣子 */
width:300px;
list-style-position:outside;
margin:0px;
padding-left:30px;
padding-top:30px;
}
.demo2 li{
margin-top:10px;
list-style:circle;
}
// HTML
<div class="demo">
<li>SELECT TOP 20 text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY qs.creation_time DESC</li>
<li>SELECT TOP 20 text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY qs.creation_time DESC</li>
<li>SELECT TOP 20 text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY qs.creation_time DESC</li>
</div>
<ul class="demo2">
<li>SELECT TOP 20 text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY qs.creation_time DESC</li>
<li>SELECT TOP 20 text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY qs.creation_time DESC</li>
<li>SELECT TOP 20 text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY qs.creation_time DESC</li>
</ul>
訂閱:
意見 (Atom)