如何通过PHP将excel的数据导入MySQL中
如何通过PHP将excel的数据导入MySQL中
在开发PHP程序时,很多时候我们会有将数据批量导入数据库的需求,如学生信息批量添加到数据库中,而事先用excel编排好,对excel实行操作,便是我们比较常用的选择方式。
在对excel的操作中,phpExcelReade便是很多人的共同选择。在具体实现中,我们可以以文件上传方式将excel文件上传到服务器中的某个位置,通过以下操作将excel中的数据导入到数据库后,在将上传的文件删除即可。
代码如下:
$dir=dirname(__FILE__); //获取当前脚本的绝对路径
$dir=str_replace("\\","/",$dir)."/";
$filename='uploadFile.xls'; //可以定义一个上传后的文件名称
$result=move_uploaded_file($_FILES['upload']['tmp_name'],$dir.$filename);//假如上传到当前目录下
if($result) //如果上传文件成功,就执行导入excel操作
{
require_once 'phpExcelReader/Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('utf-8');//设置在页面中输出的编码方式,而不是utf8
//该方法会自动判断上传的文件格式,不符合要求会显示错误提示信息(错误提示信息在该方法内部)。
$data->read("$filename"); //读取上传到当前目录下名叫$filename的文件
error_reporting(E_ALL ^ E_NOTICE);
//如果excel表带标题,则从$i=2开始,去掉excel表中的标题部分(要将$i<=改为$i<否则会插入一条多余的空数据)
for ($i = 2; $i < $data->sheets[0]['numRows']; $i++)
{
$sql = "INSERT INTO user (stuid,class,name,sex,classNum,tel,addr,remark)
相关文档:
已知当前记录id为$id,取出当前记录的上一条记录和下一条记录的id,title字段。表名news。
$sql = "SELECT CASE WHEN SIGN(id - $id) > 0 THEN MIN(id) WHEN SIGN(id - $id) < 0 THEN MAX(id) END AS id,title from news WHERE id <> $id GROUP BY SIGN(id - $id) ORDER BY SIGN(id - $id)"; ......
MySQL必要时自动变换数字为字符串,并且反过来也如此:
mysql> SELECT 1+"1";
-> 2
mysql> SELECT CONCAT(2,' test');
-> '2 test'
如果你想要明确地变换一个数字到一个字符串,把它作为参数传递到CONCAT()。
如果字符串 ......
I promise this is gonna be the last time on it :-)
自從寫完下面兩篇文章:
wordpress 1.5升級注意事項 - 中文亂碼篇
mysql 4.1中文亂碼第二擊
過去幾個月就不斷有來信詢問各種 mysql 中文相容的 ......
转:http://blog.iyi.cn/start/
问题:
有没有办法在php中实现多线程呢?
假设你正在写一个基于多台服务器的php应用,理想的情况时同时向多台服务器发送请求,而不是一台接一台。
可以实现吗?
回答:
当有人想要实现并发功能时,他们通常会想到用fork或者spawn threads,但是当他们发现php不支持多线程的时候,大 ......
用PHPmyAdmin操作MySQL数据库汉字显示正常 ,但用PHP网页显示MySQL数据时所有汉字都变成了?号。
症状:用PHPmyAdmin输入汉字正常,但当PHP网页显示MySQL数据时汉字就变成了?号,并且有多少个汉字就有多少个?号。很多学员都遇到了此问题,尤其是在安装了最新版的Appserv后。为此许多学员放弃了PHP,改学ASP了。
原因:没 ......