① php怎么把数据库里的数据插入到excel
建议你先生成csv文件格式,然后手动转换成excel文件.php倒是有扩展支持生成excel,例如PHPExcel.不过都相对麻烦.
② 利用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;}
④ 使用php将excel文件存入数据库
如果只是存入和导出,可以把excel文件当普通文件上传下载来处理即可。如果希望能在线编辑,推荐使用华表插件。
⑤ php通过ODBC如何写记录到excel文件谢谢
首先,服务器端必须要设置的一点是COM组件的操作权限。在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择Microsoft Excel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。保存完毕后重新启动服务器。 客户端的环境配置没发现什么特别讲究的地方,只要装有Office和IE即可,版本通用的都可以。 一、 ASP对Excel的基本操作 1、 建立Excel对象 set objExcelApp = CreateObject("Excel.Application") objExcelApp.DisplayAlerts = false 不显示警告 objExcelApp.Application.Visible = false 不显示界面 2、 新建Excel文件 objExcelApp.WorkBooks.add set objExcelBook = objExcelApp.ActiveWorkBook set objExcelSheets = objExcelBook.Worksheets set objExcelSheet = objExcelBook.Sheets(1) 3、 读取已有Excel文件 strAddr = Server.MapPath(".") objExcelApp.WorkBooks.Open(strAddr & "\Templet\Table.xls") set objExcelBook = objExcelApp.ActiveWorkBook set objExcelSheets = objExcelBook.Worksheets set objExcelSheet = objExcelBook.Sheets(1) 4、 另存Excel文件 objExcelBook.SaveAs strAddr & "\Temp\Table.xls" 5、 保存Excel文件 objExcelBook.Save (笔者测试时保存成功,页面报错。) 6、 退出Excel操作 objExcelApp.Quit 一定要退出 set objExcelApp = Nothing 二、 ASP操作Excel生成数据表 1、 在一个范围内插入数据 objExcelSheet.Range("B3:k3").Value = Array("67", "87", "5", "9", "7", "45", "45", "54", "54", "10") 2、 在一个单元格内插入数据 objExcelSheet.Cells(3,1).Value="Internet Explorer" 3、 选中一个范围 4、 单元格左边画粗线条 5、 单元格右边画粗线条 6、 单元格上边画粗线条 7、 单元格下边画粗线条 8、 单元格设定背景色 9、 合并单元格 10、 插入行 11、 插入列 三、 ASP操作Excel生成Chart图 1、 创建Chart图 objExcelApp.Charts.Add 2、 设定Chart图种类 objExcelApp.ActiveChart.ChartType = 97 注:二维折线图,4;二维饼图,5;二维柱形图,51 3、 设定Chart图标题 objExcelApp.ActiveChart.HasTitle = True objExcelApp.ActiveChart.ChartTitle.Text = "A test Chart" 4、 通过表格数据设定图形 objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range("A1:k5"),1 5、 直接设定图形数据(推荐) objExcelApp.ActiveChart.SeriesCollection.NewSeries objExcelApp.ActiveChart.SeriesCollection(1).Name = "=""333""" objExcelApp.ActiveChart.S
⑥ php中怎么把数据写到excel里面
download_excel.php:header("Content-type:text/csv; charset=GB2312"); header("Content-Disposition:attachment;filename=export.csv"); header("Content-Language: charset=zh-cn");header('Cache-Control:no-cache,must-revalidate,post-check=0,pre-check=0'); header("Pragma: no-cache");header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");header('Pragma:public'); session_start(); $sql_excel="";if(isset($_SESSION["excel"])) { $sql_excel=$_SESSION["excel"]; //session_unset($_SESSION["excel"]); }$conn=mysql_pconnect("localhost","root","123456"); mysql_select_db("test",$conn); mysql_query ( "set names 'utf8'" );$result=mysql_query($sql_excel);echo "\"".i("日期")."\","; //这个输出是对于EXCEL2007的,如果是其他版本的,可以试下 //echo '日期'."\t";echo "\"".i("广告位")."\",";echo "\"".i("商家消耗")."\",";echo "\"".i("尺寸")."\n";while($row=mysql_fetch_assoc($result)){echo "\"".i($row["rdate"])."\",";echo "\"".i($row["adbar"])."\",";echo "\"".i($row["cost"])."\",";echo "\"".i($row["chicun"])."\","."\n";}function i($strInput){ return iconv('utf-8','gb2312',$strInput);//页面编码为utf-8时使用,否则导出的中文为乱码}页面内容比较简单,具体自己扩充:<input type="button" onclick="excel()" value="导出为excel"><?php //….$sql="select * from 'test'";session_start();$_SESSION["excel"]=$sql;//…?><script type="text/javascript">function excel(){window.location.href='download_excel.php';}</script>
⑦ php怎么读取excel 文件数据并输出
PHPExcel
PHPExcel是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。
PHP读取示例代码
//获取上传的excel临时文件$path=$_FILES["file"]["tmp_name"];//将临时文件移动当前目录,可自定义存储位置move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);//将获取在服务器中的Excel文件,此处为上传文件名$path=$_FILES["file"]["name"];//调用readExcel函数返回一个二维数组$exceArray=readExcel($path);//创建一个读取excel函数functionreadExcel($path){//引入PHPExcel类库include'Classes/PHPExcel.php';include'Classes/PHPExcel/IOFactory.php';$type='Excel5';//设置为Excel5代表支持2003或以下版本,Excel2007代表2007版$xlsReader=PHPExcel_IOFactory::createReader($type);$xlsReader->setReadDataOnly(true);$xlsReader->setLoadSheetsOnly(true);$Sheets=$xlsReader->load($path);//开始读取上传到服务器中的Excel文件,返回一个二维数组$dataArray=$Sheets->getSheet(0)->toArray();return$dataArray;}
⑧ PHP中怎么把数据库中的内容导入Excel文件
#导出csvheader("Content-type: text/html;charset=utf-8");$filename="测试";("Content-Type: text/csv"); header("Content-Disposition: attachment; filename=".iconv("utf-8","gb2312",$filename).".csv"); header('Cache-Control:must-revalidate,post-check=0,pre-check=0'); header('Expires:0'); header('Pragma:public'); echo iconv("utf-8","gb2312","123456\n"); #导出Excelheader("Content-Type: application/vnd.ms-execl"); header("Content-Disposition: attachment; filename=myExcel.xls"); header("Pragma: no-cache"); header("Expires: 0"); /*first line*/ echo "hello"."\t"; echo "world"."\t"; echo "\t\n"; /*start of second line*/ echo "this is second line"."\t"; echo "Hi,pretty girl"."\t"; echo "\t\n";
⑨ 导入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文件|导入excel文件后端php处理导入的数据并存入数据库需要前后端结合的demo!