php reader oleread,使用phpExcelReader读取excel文件

phpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。

该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。

有几点要需要注意:

1、reader.php 中:将 require_once 'Spreadsheet/Excel/Reader/OLERead.php';改为 require_once 'oleread.inc';

2、example.php 中:修改 $data->setOutputEncoding('CP1251');为 $data->setOutputEncoding('CP936');或者是$data->setOutputEncoding('gbk');

3、修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));为 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));

不然中文会有问题。

繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。

修改 $data->read('jxlrwtest.xls') 为自己的 excel 文件名,zip 档中附的 jxlrwtest.xls 应该是坏了。

这是下载地址:

范例代码一:

require_once 'Excel/reader.php';

$data = new Spreadsheet_Excel_Reader();

$data->setOutputEncoding('UTF-8');

$data->read('data.xls');

$rs = $data -> getExcelResult();

print_r($rs);

?>

首先下载 , 解压 phpExcelReader.zip

然后把 phpExcelReader\Excel 下面的oleread.inc的代码都合并到 reader.php 并且

class Spreadsheet_Excel_Reader 代码在下方

注释掉 require_once 'Spreadsheet/Excel/Reader/OLERead.php'; 这一行

然后在

class Spreadsheet_Excel_Reader 里面加一个方法

function getExcelResult() {

$result = array();

for ($i = 1; $i <= $this->sheets[0]['numRows']; $i++) {

for ($j = 1; $j <= $this->sheets[0]['numCols']; $j++) {

$result[$i][$j] = $this->sheets[0]['cells'][$i][$j];

}

}

return $result;

}

范例代码二:

require_once 'reader.php';

// ExcelFile($filename, $encoding);

$data = new Spreadsheet_Excel_Reader();

// Set output Encoding.

//$data->setOutputEncoding('CP1251');

$data->setOutputEncoding('gbk');

//”data.xls”是指要导入到mysql中的excel文件

$data->read('data.xls');

@$db = mysql_connect('localhost', 'root', 'test') or die("Could not connect to database.");//连接数据库

mysql_query("set names 'gbk'");//输出中文

mysql_select_db('test'); //选择数据库

error_reporting(E_ALL ^ E_NOTICE);

for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++)

{ //以下注释的for循环打印excel表数据

/*for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)

{

echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";

}

echo " "; */

//以下代码是将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]."')";

$sql = "INSERT INTO test VALUES('". $data->sheets[0]['cells'][$i][1]."','". $data->sheets[0]['cells'][$i][2]."')";

echo $sql.'
';

$res = mysql_query($sql);

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值