两个开源的Php输出Excel文件类
PHP生成EXCEL有多种方法,不知道你的程序是用的哪种方法,各种方法的处理不一样。
最简单的生产的<TAB>或者逗号分割的文本,这类文件无法设置格式。
有的PHP实际上是生产的HTML,可以使用HTML代码控制格式,比如<FONTCOLOR=XXXSIZE=X>。
有的PHP实际上是生产的XML,这类可以在CSS里面设置格式。
有的PHP是调用COM直接生成真正的EXCEL文件,这类程序可以使用COM调用设置格式,可以新打开一个EXCEL,用录制宏的办法获取设置字体大小的语句。
php异或算法
/**
* PHP字符串“异或”算法
* param array key
* @param Request $request
* @return mixed|string|void
*/
public function setSecretKey(Request $request){
$keyArr = $request->input('key');
if(!is_array($keyArr) || empty($keyArr))
return;
foreach ($keyArr as $v){
if(empty($v) || (strlen($v) != 32)){
return;
}
}
if(count($keyArr) == 1)
return $keyArr[0];
$arrLength = count($keyArr);
$initKey = "00000000000000000000000000000000";
$initKeyArr = str_split($initKey);
for($i = 0;$i < $arrLength;$i++){
$newKey = '';
for($j = 0;$j < strlen($keyArr[$i]);$j++){
$str = '';
$tmpArr = str_split($keyArr[$i]);
$tmpA = str_pad(base_convert($tmpArr[$j],16,2),4,0,STR_PAD_LEFT);
$tmpB = str_pad(base_convert($initKeyArr[$j],16,2),4,0,STR_PAD_LEFT);
for($k=0;$k<strlen($tmpA);$k++){
$str .=(intval($tmpA[$k]) ^ intval($tmpB[$k]));
}
$tmpOneKey = strtoupper(base_convert($str,2,16));
unset($str);
$newKey .= $tmpOneKey;
}
unset($initKeyArr);
$initKeyArr = str_split($newKey);
}
return join($initKeyArr);
}
还没有评论,来说两句吧...