借助PHP-ExcelReader这个开源类,我们可以轻松地导入Excel文件数据,示例代码如下:
PHP-ExcelReader下载地址:http://*sourc*efo*rge.net/projects/phpexcelreader/
例.导入Excel文件
	  
		| 代码如下 | 复制代码 | 
	  
		| 
require_once 'Excel/reader.php'; $data = new Spreadsheet_Excel_Reader();
 $data->setOutputEncoding('gbk');
 $data->read('test.xls');
 for ($i = 1; $i sheets[0]['numRows']; $i++) {
 for ($j = 1; $j sheets[0]['numCols']; $j++) {
 echo """.$data->sheets[0]['cells'][$i][$j]."",";
 }
 echo "n";
 }
 ?>
 | 
	
例.phpexcel导到excel
1.    test.php
	  
		| 代码如下 | 复制代码 | 
	  
		| require_once 'reader.php'; // ExcelFile($filename, $encoding);$data = new Spreadsheet_Excel_Reader();
 // Set output Encoding.$data->setOutputEncoding('gbk');
 //”data.xls”是指要导入到mysql中的excel文件$data->read('data.xls');
 @ $db = mysql_connect('localhost', 'root', '123456') or die("Could not connect to database.");//连接数据库
 mysql_query("set names 'gbk'");//输出中文
 mysql_select_db('mydb');       //选择数据库
 error_reporting(E_ALL ^ E_NOTICE);
 for ($i = 1; $i sheets[0]['numRows']; $i++) {//以下注释的for循环打印excel表数据
 /*
 for ($j = 1; $j sheets[0]['numCols']; $j++) {
 echo """.$data->sheets[0]['cells'][$i][$j]."",";
 }
 echo "n";
 //PHP开源代码
 */
 //以下代码是将excel表数据【3个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!
 $sql = "INSERT INTO test VALUES('".
 $data->sheets[0]['cells'][$i][1]."','".
 $data->sheets[0]['cells'][$i][2]."','".
 $data->sheets[0]['cells'][$i][3]."')";
 echo $sql.'
 ';
 $res = mysql_query($sql);
 }
 ?> | 
	
例.导出excel文件
比如我需要一个做php导出 excel的的程序,只需要把相关的数据导出到excel表就可以了,这么简单的操作就不需要用那些类库什么的了。直接用header的方式就可以了:header("Content-type:application/vnd.ms-excel");
看看代码:
	  
		| 代码如下 | 复制代码 | 
	  
		| 
header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=Export_test.xls");
 $tab="t"; $br="n";
 $head="编号".$tab."备注".$br;
 //输出内容如下:
 echo $head.$br;
 echo  "test321318312".$tab;
 echo  "string1";
 echo  $br;
 echo  "330181199006061234".$tab;  //直接输出会被Excel识别为数字类型echo  "number";
 echo  $br;
 echo  "="330181199006061234"".$tab;  //原样输出需要处理echo  "string2";
 echo  $br;
 ?>
 | 
	
在导出后会发现一个问题,如果数据是数字会出现一些意想不到的情况。比如,"012345",在excel中会变成"12345";如果输入身份证号码这样的长数字,在excel中会用科学计数法表示出来,并且最后的四位数字会出现偏差,变位0000等情况。这就需要把单元格设置为文本格式,方法是
echo  "="330181199006061234""如果程序是utf-8编码的,还需要用iconv函数去转码,不然是会乱码的,乱码的。
另word格式导入类似,,指定header就可以了:
	  
		| 代码如下 | 复制代码 | 
	  
		| header("Content-Type:   application/msword");        header("Content-Disposition:   attachment;   filename=doc.doc");
 |