声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权
【PHP】 导出 和写入 Excel文件
Continue Read..<?php
// PHPExcel 需要下载 官网:http://www.codeplex.com/PHPExcel
header("Content-Type: text/html; charset=utf-8");
require_once './PHPExcel.php';
require_once './PHPExcel/IOFactory.php';
require_once './PHPExcel/Reader/Excel5.php';
/**
* 读取Excel表格
* @param $filePath Excel文件路径
* @param $field 需要保存的字段 array('id','username','password')
* @param $column 读取Excel那列 array('A','B','C')
* @examlpe
$filePath = '1.xls';
$field = array('id', 'username', 'password');
$column = array( 'A', 'B', 'C');
readExcel($filePath,$field,$column);
*/
function readExcel($filePath,$field,$column){
$objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format
$objPHPExcel = $objReader->load($filePath); //$filename可以是上传的文件,或者是指定的文件
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
for($j=1;$j<=$highestRow;$j++)
{
$colData = array();
$count = count($column);
for($i=0;$i<$count;$i++){
$colData[$field[$i]] = $objPHPExcel->getActiveSheet()->getCell($column[$i].$j)->getValue();//获取A列的值
}
$excelData[] = $colData;
}
return $excelData;
}
/**
* 导出数据为excel表格
* @param $data 一个二维数组,结构如同从数据库查出来的数组
* @param $title excel的第一行标题,一个数组,如果为空则没有标题
* @param $filename 下载的文件名
* @examlpe
exportexcel($arr,array('id','账户','密码','昵称'),'文件名!');
*/
function exportexcel($data=array(),$title=array(),$filename='report'){
header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=".$filename.".xls");
header("Pragma: no-cache");
header("Expires: 0");
//导出xls 开始
if (!empty($title)){
foreach ($title as $k => $v) {
$title[$k]=iconv("UTF-8", "GB2312",$v);
}
$title= implode("\t", $title);
echo "$title\n";
}
if (!empty($data)){
foreach($data as $key=>$val){
foreach ($val as $ck => $cv) {
$data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);
}
$data[$key]=implode("\t", $data[$key]);
}
echo implode("\n",$data);
}
}
?>
vbox 安装ubuntu 14.04 分辨率不能更改的问题
Continue Read..今天装完ubuntu 14.04然后安装VboxGuestAdditions(增强工具),重启后发现更改不了分辨率,只有默认的640*480,系统分辨率设置里只有这一个选择,反复安装了好几遍VboxGuestAdditions,结果都显示成功,但是还是不行。。。
理论上安装成功的可以在真实机和虚拟机之间共享剪贴板的,但是我这里测试不行,所以猜测是VboxGuestAdditions没有安装成功,14.04刚发布几天,百度不到啊,google发现真的是vbox的bug,连接如下,
http://xpressubuntu.wordpress.com/2014/02/14/virtualbox-and-the-latest-14-04-display-stuck-at-low-resolution/
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1292059
我的vbos是4.2.x的,明显中招了,导出虚拟机备份后,去官网下载了最新的4.3.10,安装后在装好VboxGuestAdditions,重启成功了!
现在可以正常更改分辨率了,oye~
声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权
【Jquery】新增和删除文本框带上传(TP版)
Continue Read..//这个是html的第一个
<td id="cuzn">
<div class="pub">
<input name="mtjh[]" type="text" class="abc" id="mtjh1" value="<?php echo $data['row']['bimgurl'];?>" />
<input type="button" class="ss" value="" >
<a class="cc" style="cursor:pointer; color:#555 ">删除</a>
</div>
</td>
//这里用js来添加和删除 主要是需要在上传的时候用ID来判断文本框的val 所以用jquery来判断 各种id 很蛋疼
<script type="text/javascript">
function tj(){
var lid = $('.abc').last().attr('id'); //获取class为abc的最后一个id
ids=lid.split("mtjh");
var xx = parseInt(ids[1])+1;
alert(xx);
var button='<div class="pub"><input name="mtjh[]" class="abc input-text" type="text" id="mtjh'+xx+'" value="<?php echo $data[row][bimgurl];?>" /><input type="button" class="ss" value="" ><a class="cc" style="cursor:pointer; color:#555 ">删除</a></div>';
$("#cuzn").append(button);
}
$(function(){
$(".cc").live("click",function () {
$(this).parent().remove();
});
});
$(function(){
$(".ss").live("click",function () {
//upfile('mtjh');
var id = $(this).prev ().attr('id'); //获取当前class的上一个id
var ids=id.split("mtjh");
upfile(ids[1]);
});
});
//上传
function upfile(id){
// 上传方法
$.upload({
// 上传地址
url: '/Gzrz/scfj/?time='+Math.random()*10,
// 文件域名字
fileName: 'mtjh[]',
// 其他表单数据
params: {},
// 上传完成后, 返回json, text
dataType: 'json',
// 上传之前回调,return true表示可继续上传
onSend: function() {
return true;
},
// 上传之后回调
// 上传之后回调
onComplate: function(data) {
alert(data.d.msg);
if(data.d.flag){
$("#mtjh"+id).val(data.d.msg);
}else{
alert(data.d.msg);
}
}
});
}
</script>
//这个是上传执行函数
function scfj(){
$uploadfile=uploadFlie();
if($uploadfile){
$this->returnmsg($uploadfile,true);
}else{
$this->returnmsg("远程文件上传失败"); exit();
}
}
//输出一个JSON提示
public function returnmsg($msg='',$istrue=false){
$array = array(
'd' => array(
'msg' => $msg,
'flag' => $istrue,
)
);
echo json_encode($array);
exit();
}
//这个是Tp上传处理函数
function uploadFlie(){
import("@.ORG.Net.UploadFile");
//导入上传类
$upload = new UploadFile();
//设置上传文件大小
$upload->maxSize = 32922000;
//设置上传文件类型
$upload->allowExts = explode(',', 'jpg,gif,png,jpeg,xls,xlsx,doc,docx');
if (!is_dir('./'.C("ImgGenMuLu").'/'.date('Y'))) {
//如果不存在就建立
mkdir('./'.C("ImgGenMuLu").'/'.date('Y'),0777);
}
if (!is_dir('./'.C("ImgGenMuLu").'/'.date('Y').'/'.date('m'))) {
//如果不存在就建立
mkdir('./'.C("ImgGenMuLu").'/'.date('Y').'/'.date('m'),0777);
}
//设置附件上传目录
$upload->savePath = './'.C("ImgGenMuLu").'/'.date('Y').'/'.date('m').'/';
//设置需要生成缩略图,仅对图像文件有效
//设置上传文件规则
$upload->saveRule = date("Ymd_His");
//删除原图
if (!$upload->upload()) {
//捕获上传异常
$upload->getErrorMsg();
} else {
//取得成功上传的文件信息
$uploadList = $upload->getUploadFileInfo();
return $uploadList[0]['savepath'].$uploadList[0]['savename'];
// return $uploadList[0]['savePath'].'/'.$uploadList[0]['savename'];
}
}
声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权