Heim > Backend-Entwicklung > PHP-Tutorial > 浅谈PHP导入EXCEL资料

浅谈PHP导入EXCEL资料

WBOY
Freigeben: 2016-06-13 13:02:35
Original
901 Leute haben es durchsucht

浅谈PHP导入EXCEL文件

PHP导入excel的开源文件有好几个,我用的是phpExcelReader。

方法如下,直接上代码:

$filename = $_FILES ['excel'] ['name'];
$tmp_name = $_FILES ['excel'] ['tmp_name'];
// 保存上传文件
if (move_uploaded_file ( $tmp_name, 'upload/' . $filename )) {
    inputExcel ( $filename );
}
// 调用Reader
require_once 'reader.php';
// 创建 Reader
$data = new Spreadsheet_Excel_Reader ();
// 设置文本输出编码
$data->setOutputEncoding ( 'utf-8' );
// 读取Excel文件
$data->read ( 'upload/' . $filename );

// $data->sheets[0]['numRows']为Excel行数
// $data->sheets[0]['numCols'] 为Excel列数
for($i = 2; $i <= $data->sheets[0]['numRows']; $i ++) {
    // 从单元格中获取数据
    $a = mysql_real_escape_string ( $data->sheets [0] ['cells'] [$i] [1] );
    $b = mysql_real_escape_string ( $data->sheets [0] ['cells'] [$i] [2] );
    $c = mysql_real_escape_string ( $data->sheets [0] ['cells'] [$i] [3] );
    $d = mysql_real_escape_string ( $data->sheets [0] ['cells'] [$i] [4] );
}
Nach dem Login kopieren

?

这段代码的功能就是上传一个excel文件并获取其中数据,值得说明的是:

1、excel表格中不要有半角的(小括号)和[中括号],因为它获取数据的时候是直接保存到一个数组,所以其中的(小括号)和[中括号]会影响数组的格式,并引发错误,我的做法是把它们替换成全角的(小括号)和【中括号】。

2、如果要把从excel中取出的值和数据库交互的话,我在这里mysql_real_escape_string (data)直接做了转义,防止执行数据库时因为一些符号引起的错误。

3、当excel中的数据量比较大的时候,在往数据库中插入的时候,注意sql语句的长度,PHP字符串的长度限制与php.ini中的配置和计算机内存有关。

4、$data->setOutputEncoding ( 'utf-8' )可解决中文乱码的问题。

?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage