❶ php上传excel文件,如何读取文件中的信息
在网页上传文件并点击打开excel、word文档:<?php if($submit && $testfile <> "none ") { $path= "/home/httpd/html/ "; //绝对路径,注意Linux和Windows下面的格式,windows格式为:c:\\apache2\\htdocs\\ $filename=$testfile_name; if ([email protected]($testfile,$path.$filename)) { echo "复制文件失败… <br> \n "; exit(); } @unlink($testfile); echo "文件上传成功!地址为: <a href=\ "$filename\ "> 下载 </a> "; exit; } ?> <form action= " <?php echo $PHP_SELF;?> " method= "post " enctype= "multipart/form-data "><input name= "testfile " type= "file " size=20 enctype= "multipart/form-data "> <input type=submit name=submit value= "开始上传 "> </form>
❷ 如何用PHP做文件上传,和在网页上点击打开Word或Excel文件
<?phpif($submit && $testfile<> "none") { $path="/home/httpd/html/"; //绝对路径,注意Linux和Windows下面的格式,windows格式为:c:\\apache2\\htdocs\ $filename=$testfile_name; if ([email protected]($testfile,$path.$filename)) { echo "复制文件失版败…<br>\n"; exit(); } @unlink($testfile); echo "文件上传成功权!地址为:<a href=\"$filename\">下载</a>"; exit;}?><form action="<?php echo $PHP_SELF;?>" method="post" enctype="multipart/form-data"><input name="testfile" type="file" size=20 enctype="multipart/form-data"><input type=submit name=submit value="开始上传"></form>
❸ 利用php导入excel文件
【步骤1】在前台html页面进行上传文件
<formmethod="post"action="php文件"enctype="multipart/form-data"><h3>导入Excel表:</h3><inputtype="file"name="file_stu"/><inputtype="submit"value="导入"/></form>
【步骤2】在对应的php文件进行文件的处理
if(!empty($_FILES['file_stu']['name'])){$tmp_file=$_FILES['file_stu']['tmp_name'];$file_types=explode(".",$_FILES['file_stu']['name']);$file_type=$file_types[count($file_types)-1];/*判别是不是.xls文件,判别是不是excel文件*/if(strtolower($file_type)!="xls"){$this->error('不是Excel文件,重新上传');}/*设置上传路径*/$savePath=SITE_PATH.'/public/upfile/Excel/';/*以时间来命名上传的文件*/$str=date('Ymdhis');$file_name=$str.".".$file_type;/*是否上传成功*/if(!($tmp_file,$savePath.$file_name)){$this->error('上传失败');}/*
*对上传的Excel数据进行处理生成编程数据,这个函数会在下面第三步的ExcelToArray类中
注意:这里调用执行了第三步类里面的read函数,把Excel转化为数组并返回给$res,再进行数据库写入
*/$res=Service('ExcelToArray')->read($savePath.$file_name);/*
重要代码 解决Thinkphp M、D方法不能调用的问题
如果在thinkphp中遇到M 、D方法失效时就加入下面一句代码
*/
//spl_autoload_register(array('Think','autoload'));
/*对生成的数组进行数据库的写入*/
foreach($resas$k=>$v){if($k!=0){$data['uid']=$v[0];$data['password']=sha1('111111');$data['email']=$v[1];$data['uname']=$v[3];$data['institute']=$v[4];$result=M('user')->add($data);if(!$result){$this->error('导入数据库失败');}}}}【步骤3】ExcelToArrary类,用来引用phpExcel并处理Excel数据的{publicfunction__construct(){/*导入phpExcel核心类注意:你的路径跟我不一样就不能直接复制*/include_once('./Excel/PHPExcel.php');}/**
* 读取excel $filename 路径文件名 $encode 返回数据的编码 默认为utf8
*以下基本都不要修改
*/
publicfunctionread($filename,$encode='utf-8'){$objReader=PHPExcel_IOFactory::createReader('Excel5');$objReader->setReadDataOnly(true);$objPHPExcel=$objReader->load($filename);$objWorksheet=$objPHPExcel->getActiveSheet();$highestRow=$objWorksheet->getHighestRow();$highestColumn=$objWorksheet->getHighestColumn();$highestColumnIndex=PHPExcel_Cell::columnIndexFromString($highestColumn);$excelData=array();for($row=1;$row<=$highestRow;$row++){for($col=0;$col<$highestColumnIndex;$col++){$excelData[$row][]=(string)$objWorksheet->getCellByColumnAndRow($col,$row)->getValue();}}return$excelData;}
}
❹ 怎么使用php把表格中的数据导入到excel中
下面是我写的一个PHP导出数据到CSV问价的函数,你到时候直接调用就行了
/***导出CSV文件*@paramstring$fileName文件名字*@paramstring|array$data导出数据,csv格式的字符串|数值数组*@paramstring$to_encoding目标转换编码*@paramstring$from_encoding当前编码*/functionexportCSV($fileName='',$data='',$to_encoding='gb2312',$from_encoding='utf-8'){$fileName=empty($fileName)?date('YmdHis'):$fileName;//文件标签Header("Content-type:application/octet-stream");header("Content-type:application/vnd.ms-excel;charset=$from_encoding");Header("Content-Disposition:attachment;filename=$fileName.csv");$str='';if($data){if(is_array($data)){foreach($dataas$v){if(is_array($v)){foreach($vas$vo){$str.=(is_numeric($vo)?"'".$vo:$vo."").",";}$str=trim($str,",")."";}else{$str.=(is_numeric($v)?"'".$v:$v).",";}}$str=trim($str,",")."";}else{$str=$data;}}echomb_convert_encoding($str,"gb2312","utf-8");exit;}
❺ 导入excel文件,后端php处理导入的数据并存入数据库,需要前后端结合的demo!
thinkphp3.2和phpexcel导入最基本用法先整个最基础的代码,理解了这个,后面的就非常简单了
$file_name='./Upload/excel/123456.xls';import("Org.Util.PHPExcel");import("Org.Util.PHPExcel.IOFactory");$objReader=PHPExcel_IOFactory::createReader('Excel5');$objPHPExcel=$objReader->load($file_name,$encode='utf-8');$sheet=$objPHPExcel->getSheet(0);$highestRow=$sheet->getHighestRow();//取得总行数$highestColumn=$sheet->getHighestColumn();//取得总列数$s=$objPHPExcel->getActiveSheet()->getCell("A2")->getValue();
表格内容:
publicfunctionupload(){$files=$_FILES['exl'];//exl格式,否则重新上传if($files['type']!='application/vnd.ms-excel'){$this->error('不是Excel文件,请重新上传');}//上传$upload=newThinkUpload();//实例化上传类$upload->maxSize=3145728;//设置附件上传大小$upload->exts=array('xls');//设置附件上传类型$upload->rootPath='./Upload/';//设置附件上传根目录$upload->savePath='excel/';//设置附件上传(子)目录//$upload->subName=array('date','Ym');$upload->subName='';//上传文件$info=$upload->upload();$file_name=$upload->rootPath.$info['exl']['savepath'].$info['exl']['savename'];$exl=$this->import_exl($file_name);//去掉第exl表格中第一行unset($exl[0]);//清理空数组foreach($exlas$k=>$v){if(empty($v)){unset($exl[$k]);}};//重新排序sort($exl);$count=count($exl);//检测表格导入成功后,是否有数据生成if($count<1){$this->error('未检测到有效数据');}//开始组合数据foreach($exlas$k=>$v){$goods[$k]['goods_sn']=$v;//查询数据库$where['goods_sn']=array('like','%'.$v.'%');$res=M('goods')->where($where)->find();$goods[$k]['goods_name']=$res['goods_name'];$goods[$k]['goods_thumb']=$res['goods_thumb'];if($res){//是否匹配成功$goods[$k]['is_match']='1';$f+=1;}else{//匹配失败$goods[$k]['is_match']='0';$w+=1;}}//实例化数据$this->assign('goods',$goods);//print_r($f);//统计结果$total['count']=$count;$total['success']=$f;$total['error']=$w;$this->assign('total',$total);//删除Excel文件unlink($file_name);$this->display('info');}/*处理上传exl数据*$file_name文件路径*/publicfunctionimport_exl($file_name){//$file_name='./Upload/excel/123456.xls';import("Org.Util.PHPExcel");//这里不能漏掉import("Org.Util.PHPExcel.IOFactory");$objReader=PHPExcel_IOFactory::createReader('Excel5');$objPHPExcel=$objReader->load($file_name,$encode='utf-8');$sheet=$objPHPExcel->getSheet(0);$highestRow=$sheet->getHighestRow();//取得总行数$highestColumn=$sheet->getHighestColumn();//取得总列数for($i=1;$i<$highestRow+1;$i++){$data[]=$objPHPExcel->getActiveSheet()->getCell('A'.$i)->getValue();}return$data;}
有问题一定要及时弄清楚
❻ php怎么导入大量数据的excel
php导出大量数据的Excel:PHP从数据库分多次读取100万行记录,和分多次将100万行写入文本文件都没问题Excel可以支持100万行记录,Excel 2003最大支持65536行,从2007版开始支持104万行了,目前2007的盗版应该比较普及了-_-! 问清楚客户是什么版本。要导出excel的理由是非常充分和正确的,应该继续坚持。业务人员最熟悉的就是Excel,实在不熟悉现学现用也比别的快。只是要注意,当数据量达到10万行这个级别时,Excel的公式填充将会非常非常慢,如果再有LOOKUP()公式,基本上十分钟内处理CPU满载进程管理器杀不掉的状态,这时候其实xampp + phpmyadmin是一个易用性和性能都最平衡的选择PHPExcel输出的是Excel XML格式,有个XML头和尾,中间是数据Body,需要将100万行都赋值给一个数组才可以调用PHPExcel->write(),这容易导致PHP执行超时或者内存超限,不妨调整一下php.ini配置,把超时时间和内存限制都改到很大如果是输出csv格式,那就太简单了,你的问题可能是没给字段内容加引号,加上引号再调用fputcsv试试?其实fputcsv做的事情特别简单,你甚至可以不管它,自己把CSV文件的每一行拼接好了之后用file_put_contents写入
❼ php格式怎么用excel文件
PHP 输出EXCEL文件有种简单的方式:定义header() 头部输出格式:—头部输出格式的步骤有两种:.header("Content-type:application/vnd.ms-excel");.header("Content-Disposition:filename=php100.xls");举例如下:<?php header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filename=php100.xls");echo "A1\t B1\t C1\n"; echo "A2\t B2\t C2\n";echo "A3\t B3\t C3\n";?>显示的结果:一个3行3列的excel 文件A1 B1 C1A2 B2 C2A3 B3 C3
❽ php 上传excel 表格 PHPExcel类,出现错
ZipArchive library is not enabled:出现这个错误说明是程序在调用'ZipArchive' 这个类的时候没有成功,原因是由于在安装php的时候没有增加php zip的支持(非zlib)。请在php.ini找到extension=php_zip.dll并把前面的分号去掉(如果没有,请添加extension=php_zip.dll此行并确保php_zip.dll文件存在相应的目录),保存后重启php即可。在Unix/Linux下的解决办法:1、在Linux下没有php_zip.dll这个文件(有也不会起作用的),所以需要重新编译一下php的zip模块。具体安装方法如下:cd /usr/srcwget tar -zxvf zipcd zip-1.x.xphpize./configuremakesudo make instal其中, 在最后使用make install命令的时候,可能需要用到root的权限,所以建议使用sudo来运行。安装完之后,屏幕上会提示zip.so的位置。然后将其记录下来,如:/usr/local/lib/php/extensions/zip.so。2、使用root权限修改php.ini(通常可能会在/usr/local/lib/文件夹下,不过视当初安装php而定,可以通过phpinfo()来查看):增加extension = /usr/local/lib/php/extensions/zip.so,然后同样在php.ini文件中,将 zlib.output_compression = Off 改为 zlib.output_compression = On ;3、最后别忘了重启一下Apache:apachectl restart;这个针对php的zip模块就安装完成了,能够在php中使用ZipArchive类了。
❾ php如何实现上传导入excel数据
难道你导入的时候不是选择的本地 文件吗?input框获取之后 提交过去就可以导入了啊 phpexcel中有例子的啊 可以看看简单的嘛 基本上 按那个例子改点东西就可以用了啊
未经允许不得转载:山九号 » php上传excel文件|导入excel文件后端php处理导入的数据并存入数据库需要前后端结合的demo!