当前位置:首页 > 服务器 > 正文

关于phpexcel服务器乱码的信息

今天给各位分享phpexcel服务器乱码的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

使用phpexcel导入excel表格数据到MYSQL,乱码怎么解决

第一步:建立数据库和数据表(按照自己的Excel数据设立字段)。

[sql] view plain copy print?

CREATE DATABASE php_excel;

USE php_excel;

CREATE TABLE IF NOT EXISTS php_excel(

id int(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,

gid varchar(20) NOT NULL,

stu_no varchar(20) NOT NULL,

name varchar(45) NOT NULL,

age int(4) NOT NULL

)ENGINE=MyISAM DEFAULT CHARSET=utf8;

第二步:前台index.php文件。

[html] view plain copy print?

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""

html xmlns=""

head

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

titlephpexcel导入excel数据到MYSQL数据库/title

/head

body

form name="frm1" action="insertdb.php" method="post" enctype="multipart/form-data"

input name="filename" type="file" /

input name="submit" type="submit" value="import" /

/form

/body

/html

第三步:向数据库插入数据的insertdb.php文件。

[php] view plain copy print?

session_start();

header("Content-type:text/html;charset:utf-8");

//全局变量

$succ_result=0;

$error_result=0;

$file=$_FILES['filename'];

$max_size="2000000"; //最大文件限制(单位:byte)

$fname=$file['name'];

$ftype=strtolower(substr(strrchr($fname,'.'),1));

//文件格式

$uploadfile=$file['tmp_name'];

if($_SERVER['REQUEST_METHOD']=='POST'){

if(is_uploaded_file($uploadfile)){

if($file['size']$max_size){

echo "Import file is too large";

exit;

}

if($ftype!='xls'){

echo "Import file type is error";

exit;

}

}else{

echo "The file is not empty!";

exit;

}

}

require("./conn.php"); //连接mysql数据库

//调用phpexcel类库

require_once 'PHPExcel.php';

require_once 'PHPExcel\IOFactory.php';

require_once 'PHPExcel\Reader\Excel5.php';

$objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format

$objPHPExcel = $objReader-load($uploadfile);

$sheet = $objPHPExcel-getSheet(0);

$highestRow = $sheet-getHighestRow(); // 取得总行数

$highestColumn = $sheet-getHighestColumn(); // 取得总列数

$arr_result=array();

$strs=array();

for($j=2;$j=$highestRow;$j++)

{

unset($arr_result);

unset($strs);

for($k='A';$k= $highestColumn;$k++)

{

//读取单元格

$arr_result .= $objPHPExcel-getActiveSheet()-getCell("$k$j")-getValue().',';

}

$strs=explode(",",$arr_result);

$sql="insert into php_excel(gid,stu_no,name,age) values ($strs[0],'$strs[1]','$strs[2]',$strs[3])";

echo $sql."br/";

mysql_query("set names utf8");

$result=mysql_query($sql) or die("执行错误");

$insert_num=mysql_affected_rows();

if($insert_num0){

$succ_result+=1;

}else{

$error_result+=1;

}

}

echo "插入成功".$succ_result."条数据!!!br";

echo "插入失败".$error_result."条数据!!!";

其中conn.php代码如下:

[php] view plain copy print?

$mysql=mysql_connect("localhost","root","") or die("数据库连接失败!");

mysql_select_db("php_excel",$mysql);

mysql_query("set names utf8");

我的导入效果如下:

至此,从Excel文件读取数据批量导入到Mysql数据库完成。

我用PHPExcel,把数据输出到excel并导出到本地,但每次都下载不到本地,出现一堆乱码,希望大神解答一下

你指定的PHPExcel生成的是xls格式的文件。是一种电子表格格式,这种格式一般是用excel打开处理的。直接用文本方式显示就是乱码的。但为什么是直接输出这些乱而不是下载呢?是因为你没有给输出指定头信息告诉浏览器输出的内容不是直接显示而是供下载的,浏览器所以浏览器也不懂,它只好老老实实给输出来。你试着在上面那段代码前加上如下内容:

header("Cache-Control: public");

header("Pragma: public");

header("Content-Type: application/force-download");

header("Content-Type: application/octet-stream");

header("Content-Type:application/download");

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:attachment;filename=你自己指定或生成文件名.xls");

header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

为什么phpExcelReader中文乱码

应该是有点关系的哦

可能服务器的mbstring和你机器上的不一致。

可以让服务器商改一下你的PHP版本的塞

phpexcel服务器乱码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、phpexcel服务器乱码的信息别忘了在本站进行查找喔。

取消
扫码支持 支付码