包含phpexcel服务器乱码的词条
- 服务器
- 2022-12-20 00:24:08
- 18
本篇文章给大家谈谈phpexcel服务器乱码,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、phpexcel怎么下载不了excel,数据全都显示在页面上了,还有好多乱码
- 2、为什么phpExcelReader中文乱码
- 3、我用PHPExcel,把数据输出到excel并导出到本地,但每次都下载不到本地,出现一堆乱码,希望大神解答一下
- 4、使用phpexcel导入excel表格数据到MYSQL,乱码怎么解决
phpexcel怎么下载不了excel,数据全都显示在页面上了,还有好多乱码
可能原因与解决办法如下:
需要将输出的内容用iconv()转换成gbk,去百度上搜下iconv的用法。
从编码方向上考虑,或者试试把字符集改称gbk的,或者用iconv把所有内容都转一遍,不要漏了。
可能是头部没有添加头值。头部需要加一个头值:
Header("Content-type: application/octet-stream;charset=utf-8");
为什么phpExcelReader中文乱码
应该是有点关系的哦
可能服务器的mbstring和你机器上的不一致。
可以让服务器商改一下你的PHP版本的塞
我用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");
使用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服务器乱码和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
本文由admin于2022-12-20发表在靑年PHP官网,如有疑问,请联系我们。
本文链接:https://qnphp.com/post/151692.html