在网站的管理后台经常会使用到报表的生成和读取,CSV和Excel都是常用的报表格式,CSV相对来说比较简单,如果大家有疑问我会相继发布一些CSV的实例,这里主要介绍用PHP 来生成和读取Excel文件。

要执行下面的函数,首先要引入一个类库:PHPExcel,PHPExcel是一个强大的PHP类库,用来读写不同的文件格式,比如说Excel 2007,PDF格式,HTML格式等等,这个类库是建立在Microsoft’s OpenXML和PHP 的基础上的,对Excel提供的强大的支持,比如设置工作薄,字体样式,图片以及边框等等,下面来看看它是如何读写Excel文件的:

首先来看如果生成Excel文件:
下面这代码中函数arrayToExcel的功能是把一个二维数组的数据生成一个excel文件,并且保存在服务器上。

require_once 'Classes/PHPExcel/Reader/Excel2007.php';

require_once 'Classes/PHPExcel/Reader/Excel5.php';

include 'Classes/PHPExcel/IOFactory.php';

function arrayToExcel($data){

	$objPHPExcel = new PHPExcel();

	$objPHPExcel->setActiveSheetIndex(0);

	$objPHPExcel->getActiveSheet()->setTitle('firstsheet');

	$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');

	$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);

	//add data

	$i = 2;

	foreach ($data as $line){

		$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, $line['From']);		

		$objPHPExcel->getActiveSheet()->getCell('A'.$i)->setDataType('n');

		$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $line['To']);		

		$objPHPExcel->getActiveSheet()->getCell('B'.$i)->setDataType('n');

		$i++;

	}

	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

	$file = 'excel.xls';

	$objWriter->save($file);

}

(阅读全文…)

依洋 发表时间 九月 2nd, 2010 | 分类 PHP | 评论数: 5 »

jQuery中选择器中的空格一直都觉得是一个不起眼的小问题,可往往是小问题会给我们的结果带来很大的影响,多一个空格和少一个空格也许会得到截然不同的结果。所以空格问题不容忽视!

首先来解释一下选择器里带空格是什么意思,如果选择器中两个元素之间用空格隔开,则表示为前一个元素的后代元素。比如$(‘div :hidden’),表示的是div里所有的隐藏元素,这个隐藏元素可以是div的子元素,也可以是div子元素的子元素。如果选择器中没有空格的话,表示一个并且的关系,如果说$(‘div:hidden’),表示的是所有隐藏的div,这个就和元素的层次没有关系了!

下面看一个实例:HTML代码部分

aa
bb
cc

jQuery部分

var $ta = $('.test :hidden');  //带空格的选择器表示class为test的元素中所有隐藏的元素,很明显结果是第一个div里所有的元素
var $tb = $('.test:hidden'); //不带空格的选择器,表示的是class为test并且是隐藏的元素,这里指的是后两个div以及第一个div中的最后一个子元素
alert($ta.length); //输出为4
alert($tb.length); // 输出为3

jQuery选择器中空格问题不容忽视,所以在开发过程中一定要理清思路,看看是否需要加空格

依洋 发表时间 八月 9th, 2010 | 分类 Javascript | 评论数: 39 »

最近刚发现一个Wordpress的投票插件WP-Polls,它可以添加一个AJAX投票系统到你的WordPress博客。你可以很容易地把投票调查包含到你的WordPress的博客文章/页,它支持单选和多选的答案。
   
下载地址是:WP-Polls 下载
下面来介绍一下这个插件的安装方法和使用方法:
安装方法和其他的插件一样,下载最新版,解压缩放到你的wp-content/plugins 文件夹,然后登录管理后台到插件页面激活即可。
使用方法:
如果你想让此插件在页面上显示,可以通过两种方法来实现:
一个是可以在管理后台》外观》小工具页面,把“Polls”拖动到你的侧边栏,这样的话,你可以在所有的页面上看到这个投票系统;
另外一个方法是在你的侧边栏文件(wp-content/themes//sidebar.php)里添加如下的代码:
(阅读全文…)

依洋 发表时间 八月 3rd, 2010 | 分类 Wordpress | 评论数: 22 »

好久没有用数据库,难免把数据库的密码给忘了,那如果mysql 的数据库密码忘了该怎么办呢?这里介绍两种简单的方法可以重设密码!
首先介绍一下Windows系统下如何重设密码:
1.用系统管理员登陆系统。停止MySQL的服务。(可以通过“控制面板”-》“管理员工具”-》“服务”,然后在打开的窗口里找到 Mysql 服务,然后停止)
2.打开命令提示符,然后进入MySQL的安装目录,比如我的安装目录是c:\mysql, 进入C:\mysql\bin
3.跳过权限检查启动MySQL,输入下面的命令

c:\mysql\bin>mysqld --skip-grant-tables

这个时候命令提示符将会出现等待的状态。
4.重新打开一个命令提示符窗口,进入c:\mysql\bin目录,设置root的新密码mysql, 运行下面的命令:

use mysql;
update user SET password=password('new password') where user='root';
flush privileges;

5.重新启动Mysql服务,大功告成!

(阅读全文…)

依洋 发表时间 七月 31st, 2010 | 分类 mysql | 评论数: 4 »

今天在jQuery EasyUI 官方网站浏览时,发现EasyUI 的新版本1.1.2已经发布了,这次的升级没有添加新的插件,只是修复了一些bug和对以前的插件做了一些改善,最新的jQuery EasyUI可以到下面的地址下载:
http://jquery-easyui.wikidot.com/download:v112

下面来介绍一下1.1.2版的新特性:
1.1.2版的更新日志:(2010年7月9日)
修复漏洞:
o messager: 当在布局调用show方法,该messager将被阻止。(已解决)
改善:
o datagrid: 添加 validateRow方法,当做编辑的操作时,记住当前编辑行的状态时。
o datagrid: 添加能够创建合并单元格的功能。
o form: 当加载数据时增加了回调函数。
o panel,window,dialog: 增加maximize(最大化),minimize(最小化),restore(还原),collapse(折叠),expand(展开)的方法
o panel,tabs,accordion: 延迟加载功能的支持。
o tabs: 增加getSelected,update,getTab 的方法
o accordion: 增加crud 方法
o linkbutton: 接受一个id选项来设置id属性。
o tree: 加强树节点操作

依洋 发表时间 七月 23rd, 2010 | 分类 Javascript | 评论数: 16 »

随着网站功能的日益增强,网站的代码量也会越来越大,而且进入Web2.0富客户端以后,网站主更加关注网站的美观和用户的体验,可是要产生这样的视觉效果,图片CSS和JS就是担负起很大的责任,这样就使网站的页面变的很大,从而影响网站的访问速度。试想一下,一个只有10K的页面和一个100K的页面哪一个能更快的展现出来,答案当然是10K的页面,许多研究都表明,用户最满意的打开网页时间,是在2秒以下。用户能够忍受的最长等待时间大约在6~8秒之间。也就是说,8秒是一个临界值,如果你的网站打开速度在8秒以上,那么很可能,大部分访问者最终都会离你而去。

既然网站页面的大小如此重要,我们应该如何来优化自己的页面呢?
当然首先要保证你的HTML代码书写要规范,要知道DIV要比TABLE展示的快,所以布局尽量用DIV和CSS。JS和CSS代码都写在外部文件,可以分模块来减小他们的大小,每个模块引用各自模块的JS和CSS,然后对每个CSS和JS文件进行压缩。图片没有办法压缩,但是我们可以通过工具来查看页面引用的所有图片的大小来进行优化。

下面我来介绍一下分析网站和压缩代码的工具:
分析网站的工具:YSlow
YSlow是Yahoo开发的一个用于测试分析网站优化的Firefox工具插件,安装时还必须依赖于Firebug。YSlow针对网站速度体验上的优化,将其总结为13条,分别用F到A的指标来对你的网站速度做出评价并给出数据,F代表最差,A代表最好。我们可以通过分析得到的数据对自己的网站和服务器做相应的优化。不仅如此,YSlow还为我们统计了页面发起的HTTP请求和页面的大小,下面是统计的示例: (阅读全文…)

依洋 发表时间 七月 16th, 2010 | 分类 SEO | 评论数: 14 »