【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);
}
}
?>

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

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~

声明:此文系舞林cuznwww.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'];
            
        }

 }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权