php导入excel文件功能开发 phpExcelReader
2014-10-17 15:08
309 查看
关于phpExcelReader有以下几点说明用之前请阅读
1. Excel/reader.php文件中已经用require_once包含了oleread.inc文件,所以在调用的时候不需要加载oleread.inc。
2. 官方提供的excel文件jxlwtest.xls已经损坏,无法读取与解析。
3. 原始Excel/reader.php文件的第31行(如下)会导致错误:
require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;
原因是Spreadsheet/Excel/Reader/OLERead.php文件不存在。其实这里所需的文件就是Excel/oleread.inc,把require_once后的文件名改成 ’oleread.inc’即可。
4. 原始Excel/reader.php文件的第261行会导致如下警告:
Deprecated: Assigning thereturn value of new by reference is deprecated
其原因是此行的 =& 符号已经在PHP 5.3中被废弃。根据该符号在此处的作用,直接将其改为 = 即可。
5. PHP-ExcelReader不支持Excel 2007文档的解析,也就是说扩展名为xlsx的Excel文件不能使用本类库进行解析;它只针对扩展名为xls的Excel文件。
6. PHP-ExcelReader的设置编码方法基于iconv命 令,setOutputEncoding方法的参数就是需要设置的字符集的名称。要使这个方法生效需要给本地的PHP环境安装iconv扩展;若本地 PHP环境没有iconv扩展,那么PHP-ExcelReader的编码方法默认为Unicode。
7.PHP-ExceReader在解析整数的时候可能会出现精度上的误差,如58解析为57.5,原因不明。能做的就是解析完后检查下数据,然后四舍五入(如果有必要的话)。
8. PHP-ExcelReader对于excel文件中的空白单元格,要么直接跳过不存放到结果数组中,要么保存为0或者””(空字符串)。
test2.php
<?php
require_once './phpExcelReader/Excel/reader.php';
// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('GBK'); //GBK或者GB2312
// Set output Encoding. $data->setOutputEncoding('gbk');
//”data.xls”是指要导入到mysql中的excel文件
chmod("data.xlsx",0777);
$data->read('data.xlsx');
@ $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 <= $data->sheets[0]['numRows']; $i++) {
//以下注释的for循环打印excel表数据
/*
for ($j = 1; $j < = $data->sheets[0]['numCols']; $j++) {
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
echo "\n";
*/
//以下代码是将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.'< br />';
$res = mysql_query($sql);
}
?>
可以找我上传的附件下载。http://download.csdn.net/detail/dl425134845/8049583
1. Excel/reader.php文件中已经用require_once包含了oleread.inc文件,所以在调用的时候不需要加载oleread.inc。
2. 官方提供的excel文件jxlwtest.xls已经损坏,无法读取与解析。
3. 原始Excel/reader.php文件的第31行(如下)会导致错误:
require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;
原因是Spreadsheet/Excel/Reader/OLERead.php文件不存在。其实这里所需的文件就是Excel/oleread.inc,把require_once后的文件名改成 ’oleread.inc’即可。
4. 原始Excel/reader.php文件的第261行会导致如下警告:
Deprecated: Assigning thereturn value of new by reference is deprecated
其原因是此行的 =& 符号已经在PHP 5.3中被废弃。根据该符号在此处的作用,直接将其改为 = 即可。
5. PHP-ExcelReader不支持Excel 2007文档的解析,也就是说扩展名为xlsx的Excel文件不能使用本类库进行解析;它只针对扩展名为xls的Excel文件。
6. PHP-ExcelReader的设置编码方法基于iconv命 令,setOutputEncoding方法的参数就是需要设置的字符集的名称。要使这个方法生效需要给本地的PHP环境安装iconv扩展;若本地 PHP环境没有iconv扩展,那么PHP-ExcelReader的编码方法默认为Unicode。
7.PHP-ExceReader在解析整数的时候可能会出现精度上的误差,如58解析为57.5,原因不明。能做的就是解析完后检查下数据,然后四舍五入(如果有必要的话)。
8. PHP-ExcelReader对于excel文件中的空白单元格,要么直接跳过不存放到结果数组中,要么保存为0或者””(空字符串)。
test2.php
<?php
require_once './phpExcelReader/Excel/reader.php';
// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('GBK'); //GBK或者GB2312
// Set output Encoding. $data->setOutputEncoding('gbk');
//”data.xls”是指要导入到mysql中的excel文件
chmod("data.xlsx",0777);
$data->read('data.xlsx');
@ $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 <= $data->sheets[0]['numRows']; $i++) {
//以下注释的for循环打印excel表数据
/*
for ($j = 1; $j < = $data->sheets[0]['numCols']; $j++) {
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
echo "\n";
*/
//以下代码是将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.'< br />';
$res = mysql_query($sql);
}
?>
可以找我上传的附件下载。http://download.csdn.net/detail/dl425134845/8049583
相关文章推荐
- php开发中Excel导入功能的具体实现方法
- php数据导入导出之excel(csv文件)
- WinForm开发中,将Excel文件导入到DataGridView中时,获取Excel中所有表格的名称。
- asp.net导出excel-一行代码实现excel、xml、pdf、word、html、csv等7种格式文件导出功能而且美观-SNF快速开发平台
- ThinkPHP 3.2 + PHPExcel 导入导出文件 第三方类库不能用问题解决
- PHPExcel导入EXCEL文件到数据库
- php数据导入导出之excel(csv文件)
- PHP-ExcelReader:用于解析excel文件的PHP类库
- php 文件上传类,功能相当齐全,留作开发中备用吧。
- phpexcel 导入excel2003或2007文件数据
- phpexcel导入导出excel文件常用操作
- php导入excel项目的开发心得
- 使用PHP导入Excel和导出数据为Excel文件
- 利用PHP-ExcelReader实现PHP导入Excel数据[不通过CSV]
- DataTable 对xml、excel、csv 对文件的导入和导出功能
- 利用PHP-ExcelReader实现PHP导入Excel数据[不通过CSV]
- php数据导入导出之excel(csv文件)
- PHP-ExcelReader:用于解析excel文件的PHP类库
- 在Yii框架中使用PHPExcel扩展从数据库导出excel文件功能的实现
- PHP导入Excel文件技巧讲解