Archive for the ‘PHP’ Category

PHPExcel读取excel文件示例

2015年5月14日

PHPExcel是一个非常方便生成Excel格式文件的类,官方下载包中带有大量如何生成各种样式excel文件的示例,但没有一个读取Excel文件的完整例子.Xiaoqiang根据网上的资料,整理了一份简单读取Excel文件的例子.
传统方法:

/**
 *
 * @copyright 2007-2012 Xiaoqiang.
 * @authorXiaoqiang.Wu <jamblues@gmail.com>
 * @version 1.01
 */
 
error_reporting(E_ALL);
 
date_default_timezone_set('Asia/ShangHai');
 
/** PHPExcel_IOFactory */
require_once '../Classes/PHPExcel/IOFactory.php';
 
 
// Check prerequisites
if (!file_exists("31excel5.xls")) {
    exit("not found 31excel5.xls.\n");
}
 
$reader = PHPExcel_IOFactory::createReader('Excel5'); //设置以Excel5格式(Excel97-2003工作簿)
$PHPExcel = $reader->load("31excel5.xls"); // 载入excel文件
$sheet = $PHPExcel->getSheet(0); // 读取第一個工作表
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumm = $sheet->getHighestColumn(); // 取得总列数
$highestColumm= PHPExcel_Cell::columnIndexFromString($colsNum); //字母列转换为数字列 如:AA变为27
 
/** 循环读取每个单元格的数据 */
for ($row = 1; $row <= $highestRow; $row++){//行数是以第1行开始
    for ($column = 0; $column < $highestColumm; $column++) {//列数是以第0列开始
        $columnName = PHPExcel_Cell::stringFromColumnIndex($column);
        echo $columnName.$row.":".$sheet->getCellByColumnAndRow($column, $row)->getValue()."<br />";
    }
}
 


精简方法:

/**
 *
 * @copyright 2007-2012 Xiaoqiang.
 * @author Xiaoqiang.Wu <jamblues@gmail.com>
 * @version 1.01
 */
 
error_reporting(E_ALL);
 
date_default_timezone_set('Asia/ShangHai');
 
/** PHPExcel_IOFactory */
require_once '../Classes/PHPExcel/IOFactory.php';
 
 
// Check prerequisites
if (!file_exists("31excel5.xls")) {
    exit("not found 31excel5.xls.\n");
}
 
$reader = PHPExcel_IOFactory::createReader('Excel5'); //设置以Excel5格式(Excel97-2003工作簿)
$PHPExcel = $reader->load("31excel5.xls"); // 载入excel文件
$sheet = $PHPExcel->getSheet(0); // 读取第一個工作表
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumm = $sheet->getHighestColumn(); // 取得总列数
 
/** 循环读取每个单元格的数据 */
for ($row = 1; $row <= $highestRow; $row++){//行数是以第1行开始
    for ($column = 'A'; $column <= $highestColumm; $column++) {//列数是以A列开始
        $dataset[] = $sheet->getCell($column.$row)->getValue();
        echo $column.$row.":".$sheet->getCell($column.$row)->getValue()."<br />";
    }
}

这边文章是转过来的 原文地址http://www.imhdr.com/1332/
字母列转换为数字列这个方法就是我当时遇到的问题。

php文件拷贝脚本

2011年12月7日

最近在进行大量的文件对比工作,其中需要进行文件的提取,知道了文件列表后,一个一个复制起来很麻烦,写了个脚本,代码如下: (更多…)

PHPMyAdmin无法载入mysql扩展问题排查

2011年8月15日

昨天安装了个PHP环境,出现奇怪的问题,PHPMyAdmin无法载入mysql扩展。
其实现在想来,使用哪些版本的php、apache、MySQL,都不重要,之前一直认为版本之间必须得配合着用。
先说问题,我是通过把php.ini放到windows下加载的,修改的也是c:\windows下的php.ini,但就是加载不上,phpinfo里没有MySQL模块,最后找到原因,拷贝到windows目录下的文件,读写属性变了(原文件是可读写执行的),但不知为何编辑器保存成功了。重启机器后,发现论坛(BBS)(外链忽视)php.ini内容没变,得改user权限……
分步安装的确很麻烦,这次安装好了, 可以备份文本文件,下次重装后,只需添加服务就行了。