使用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?
phpexcelexcel数据到MYSQL数据库
第三步:向数据库插入数据的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."
";
mysql_query("set names utf8");
$result=mysql_query($sql) or die("执行错误");
$insert_num=mysql_affected_rows();
if($insert_num>0){
$succ_result =1;
}else{
$error_result =1;
}
}
echo "插入成功".$succ_result."条数据!!!
";
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怎么给表格里的内容加超链接
你有网页制作方面的电脑基础
,那Word文档中如何插入接也比较好理解网页制作一样,Word文档中也可以插入超链接,
Word超链接能实现文档内部或网络的导航.
如在比较长文档中就可以通过创建超链接来作为目录,这里介绍一下word插入超链接的几种方法:
1、直接拖动选定文本
就是在word文档中直接拖动鼠选定的文本或图片作为超级链接的目标,然后点击鼠标右键,把选定的目标拖到需要链接到的位置,放开右键,在弹出的菜单中选择“在此创建超级链接”选项就可以把链接目标定位。
如果觉得点击右键拖动不方便,
可以把鼠标设定成"单击锁定"详细请看:
如何启用单击锁定
2、通过菜单中"粘贴为超链接"
上面的拖放法创建超链接的确方便,但是我们知道拖动是一种很不方便的操作,
如果和目标距离大远,
操作起来就太困难了。
这里还可以使用"粘贴为超链接"
的方法.
首先选择超级链接的目标,按下Ctrl C复制选定内容,把光标移动到需要加入链接的位置,然后执行菜单“编辑→粘贴为超链接”。
3、
通过word书签制作超链接
word
插入超链接还可以通过使用书签来实现。前提是要先制作好书签,
可以选择特定目标,用菜单“插入→书签”,来创建书签.
并把书签命名,命名后单击“添加”按钮,把光标移到需要添加超级链接的位置,选择“插入→超级链接”,在“编辑超链接”对话框中单击“书
签”按钮,并在“在文档中选择位置”对话框中选择特定的书签,单击“确定”按钮即可。
注意:
可以对于不同版本的Word,
这些插入超链接功能菜单的位置可能不一样.
请以实际的情况来选择
php怎么导入Excel表格到数据库,根据表格内的字段修改对应数据,请问大神怎么导入数据库????
5 php怎么导入E
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函数
function readExcel($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表格格式的数据,用XML做
boolean tag = true;
configure:3527: error: in `/Users/niko/memcachedbuild/libevent-1.4.14-stable':
configure:3531: error: C compiler cannot create executables
See `config.log' for more details.
php 怎样读取excel表格内容 - 技术问答
常用的用PHP读取EXCEL法有以下三种,各自有各自的优缺点。个人推荐用第三法,因为它可以跨平台。
1. 以.csv格式读取
将.xls转换成.csv的文本格式,然后再用PHP分析这个文件,和PHP分析文本没有什么区别。
优点:跨平台,效率比较高、可以读写。
缺点:只能直接使用.csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化。一个文件只有一个SHEET。
PHP有自带的分析.csv函数:fgetcsv
array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )
handle 一个由 fopen()、popen() 或 fsockopen() 产生的有效文件指针。
length (可选)必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
delimiter (可选)设置字段分界符(只允许一个字符),默认值为逗号。
enclosure (可选)设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。 和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。
fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。
注意: CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。
当然也可以自己手动分析字符串。
还可以利用fputcsv函数将行格式化为 CSV 并写入文件指针。
2. ODBC链接数据源
优点:支持多种格式,cvs, xls等。支持读写,使用标准SQL语言,和SQLSERVER、MYSQL数据库几乎完全一样。
缺点:值支持windows服务器
3. PHP自定义类
优点:跨平台。某些类支持写操作。支持.xls二进制文件
常用的类有phpExcelReader、PHPExcel。其中后者支持读写,但是需要php5.2以上版本。
phpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。
该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。
不过我下载回来的 (版本 2009-03-30),有两点要注意:
reader.php 中的下面这行要修改
将 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;
改为 require_once ‘oleread.inc’;
example.php 中
修改 $data->setOutputEncoding(’CP1251′);
为 $data->setOutputEncoding(’CP936′);
example2.php 中
修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));
为 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));
不然中文会有问题。
繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。
修改 $data->read(’jxlrwtest.xls’) 为自己的 excel 文件名,zip 档中附的 jxlrwtest.xls 应该是坏了。