在做项目中我们经常会接到其他部门发过来的Excel表格,将其数据导入到数据库中,发现PHPExcel这个插件刚好帮我们解决了这个问题
初次上传代码还望见谅,具体代码如下:
<?php
require_once('./Classes/PHPExcel.php');
require_once('./Classes/PHPExcel/IOFactory.php');
require_once('./Classes/PHPExcel/Reader/Excel5.php');
/*链接数据库*/
$link = mysql_connect('localhost','root','root') or die(“不能连接数据库!”);
mysql_select_db('test');
mysql_set_charset('utf8');
/*excel文件路径在此写死*/
$uploadfile = 'phpexcel.xls';
if(file_exists($uploadfile))
{
try
{
/*非excel2007版本*/
$objReader = PHPExcel_IOFactory::createReader('Excel5');
/*加载excel文件*/
$objPHPExcel = $objReader->load($uploadfile);
$sheet = $objPHPExcel->getSheet(0);
/*获取文件的总行数和列数*/
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
}catch(Exception $e)
{
unlink($uploadfile);
echo "debug";
}
for($i=2;$i<=$highestRow;$i++)
{
for($j='A';$j<=$highestColumn;$j++)
{
/*将数据以utf8编码格式转出*/
$str .= iconv('utf-8', 'utf-8'
, $objPHPExcel->getActiveSheet()->getCell("$j$i")->getValue()) . '|'; //读取单元格
}
$result = explode("|",$str);
$strs = array_pop($result);
$arr[] = $result;
unset($str);
}
}
。。。
mysql_close($link);
?>