php 的 PHPExcel1.8.0 使用教程
http://phpexcel.codeplex.com/
如:PHPExcel_1.8.0_doc.zip
PHP版本高于5.2.0
开启php_zip扩展
开启php_xml扩展
开启php_gd2扩展
三、解压zip,把里面的classes里的文件拷贝一份放入phpexcel文件夹中。
//引入PHPExcel文件
require './phpexcel/PHPExcel.php'; //创建PHPExcel对象
$obj = new PHPExcel(); //写入excel操作 //创建excel写入对象
//第二个参数可以写'excel2007'
$writer = PHPExcel_IOFactory::createWriter($obj, 'Excel5');
//或如下方式
$writer = new PHPExcel_Writer_Excel5($obj); //保存文件到本地
$writer->save('1.xls'); //浏览器输出
header('Content-Type: application/vnd.ms-execl');
header('Content-Disposition: attachment;filename="文件名.xls"');
header('Cache-Control: max-age=0');
$writer->save('php://output'); //文件名乱码的解决
$filename = iconv('utf-8', 'gbk', '中文.xls');
$writer->save($filename); //内容乱码问题
使用浏览器输出时,header头部加上ob_end_clean(); //操作工作表(worksheet) //创建工作表方法一
$sheet = new PHPExcel_Worksheet($obj, 'new sheet');
$obj->addSheet($sheet); //创建工作表方法二
$obj->createSheet(); //设置当前工作表
$obj->setActiveSheetIndex(0); //得到当前工作表对象
$curSheet = $obj->getActiveSheet(); //往工作表中插入数据 //设置单元格的值
$curSheet->setCellValue('A1', '10');
$curSheet->setCellValue('A2', '20');
$curSheet->setCellValue('A3', '=sum(A1:A2)'); //设置样式
//加粗
$curSheet->getStyle('A1')->getFont()->setBold(true);
//斜体
$curSheet->getStyle('A1')->getFont()->setItalic(true);
//字体颜色
$curSheet->getStyle('A1')->getFont()->
setColor(new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_DARKGREEN));
//字体
$curSheet->getStyle('A1')->getFont()->setName('宋体');
//字体大小
$curSheet->getStyle('A1')->getFont()->setSize(20);
//设置列宽
$curSheet->getColumnDimension('A')->setWidth(20);
$curSheet->getColumnDimension('A')->setAutoSize(true);
//设置行高
$curSheet->getRowDimension('1')->setRowHeight(20);
//设置边框
$curSheet->getStyle('A1')->getBorders()->getTop()
->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//设置边框颜色
$curSheet->getStyle('A1')->getBorders()->getTop()->getColor()->setARGB('FF336600');
//设置填充色
$curSheet->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$curSheet->getStyle('A1')->getFill()->getStartColor()->setARGB('FFFF0000'); //单元格的合并
$curSheet->mergeCells('A1:A3');
//多行多列合并
$curSheet->mergeCellsByColumnAndRow($col1,$row1,$col2,$row2);
//插入一行(在before之前插入$rowNums行)
$curSheet->insertNewRowBefore($before=1, $rowNums=1);
//删除行(从row开始删除$rowNums行)
$curSheet->removeRow($row=1,$rowNums=1);
//插入列(在before之前添加$colNums列)
$curSheet->insertNewColumnBefore($before='A', $colNums=1);
//删除列(从col开始删除$colNums列)
$curSheet->removeColumn($col='A', $colNums); //插入图片
1、创建图片操作对象
$img = new PHPExcel_Worksheet_Drawing();
2、设置图片路径
$img->setPath(路径);
3、设置图片宽高
$img->setWidth();
$img->setHeight();
4、设置图片插入位置
$img->setCoordinates('A1');
5、设置图片偏移量
$img->setOffsetX(100);
6、设置图片倾斜
$img->setRotation(25);
7、添加到工作表
$img->setWorksheet($curSheet); //读取excel操作 //创建excel读对象
$reader = PHPExcel_IOFactory::createReader('Excel5');
$reader = new PHPExcel_Reader_Excel5();
//得到excel操作对象
$excel = PHPExcel_IOFactory::load(excel路径);
$excel = $reader->load(excel路径); //获取表的相应数据 //获取工作表数量
$excel->getSheetCount(); //获取工作表名
$excel->getSheetNames(); //根据表名切换当前工作表
$excel->setActiveSheetIndexByName(); //获取整个内容返回数组
$excel->getActiveSheet()->toArray(); //通过reader对象获取excel表的信息
$reader->listWorkSheetInfo(路径);
$reader->listWorkSheetNames(路径); //获取当前工作表最大行数
$excel->getActiveSheet()->getHighestRow();
//获取当前工作表最大列数
$excel->getActiveSheet()->getHighestColumn(); //获取单个单元格内容
$curSheet->getCell('A1')->getValue();
<?php
require './phpexcel/PHPExcel.php'; $reader = PHPExcel_IOFactory::createReader('Excel5');
$excel = PHPExcel_IOFactory::load('./1.xls');
$curSheet = $excel->getActiveSheet(); $rows = $curSheet->getHighestRow();
$cols = $curSheet->getHighestColumn(); $data = array();
for($i = 1; $i <= $rows; ++$i) {
$tmp = array();
for($j = 'A'; $j <= $cols; ++$j) {
$name = $j . $i;
$cellData = $curSheet->getCell($name)->getValue();
$tmp[] = $cellData;
}
$data[] = $tmp;
} echo '<pre>';
print_r($data);
echo '</pre>';
六、如何导入大数据量的excel
<?php
set_time_limit(0);
require './phpexcel/PHPExcel.php'; $start = microtime(true);
$excel = new PHPExcel();
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
$curSheet = $excel->getActiveSheet(); $rows = 10000;
$cols = range('A', 'M'); for($i = 1; $i <= $rows; ++$i) {
foreach($cols as $col) {
$cellName = $col . $i;
$curSheet->setCellValue($cellName, uniqid(mt_rand(), true));
}
} $writer->save('./data.xls');
$end = microtime(true);
echo $end - $start;
生成该文件大概花了17秒,大小约为10.2MB。
<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>导入excel</title>
</head>
<body>
<form action="import.php" method="post" enctype="multipart/form-data">
xls文件:<input type="file" name="upfile" value="" />
<input type="submit" value="导入" />
</form>
</body>
</html>
<?php
set_time_limit(60);
ini_set("memory_limit", "128M"); require './phpexcel/PHPExcel.php'; $start = microtime(true); $cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip;
$cacheSettings = array();
PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings); //上传的临时文件
$upfile = $_FILES['upfile']['tmp_name'];
$excel = PHPExcel_IOFactory::load($upfile);
$curSheet = $excel->getActiveSheet(); $db = mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('test');
mysql_query('set names utf8'); //sql文件保存路径
$sqlFile = dirname(__FILE__) . '/data.sql';
$fp = fopen($sqlFile, 'ab+'); $rows = $curSheet->getHighestRow();
$cols = $curSheet->getHighestColumn(); //将列名转为列数
$cols = PHPExcel_Cell::columnIndexFromString($cols); for($i = 1; $i <= $rows; ++$i) {
$rowStr = "INSERT INTO `test` VALUES(NULL,";
for($j = 0; $j < $cols; ++$j) { //将列数转换为列名
$cellName = PHPExcel_Cell::stringFromColumnIndex($j) . $i;
$cellValue = $curSheet->getCell($cellName)->getValue();
$cellValue = iconv('GBK', 'UTF-8', $cellValue);
$rowStr .= "'{$cellValue}',";
}
$rowStr = rtrim($rowStr, ",") . ");\r\n";
fwrite($fp, $rowStr);
}
fclose($fp); exec('D:\amp\mysql56\bin\mysql -utest -ptest test < ' . $sqlFile); $end = microtime(true);
echo $end - $start;
php 的 PHPExcel1.8.0 使用教程的更多相关文章
- Windows环境下Android Studio v1.0安装教程
Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SD ...
- Swift3.0语言教程字符串与URL的数据转换与自由转换
Swift3.0语言教程字符串与URL的数据转换与自由转换 Swift3.0语言教程字符串与URL的数据转换 Swift3.0语言教程字符串与URL的数据转换与自由转换,字符串中的字符永久保存除了可以 ...
- Swift3.0语言教程字符串与文件的数据转换
Swift3.0语言教程字符串与文件的数据转换 Swift3.0语言教程字符串与文件的数据转换,如果想要对字符串中的字符进行永久保存,可以将字符串中的字符写入到文件中.当然,开发者也可以将写入的内容进 ...
- Swift3.0语言教程字符串转换为数字值
Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...
- Swift3.0语言教程使用URL字符串
Swift3.0语言教程使用URL字符串 Swift3.0语言教程使用URL字符串,和路径一样,URL其实也是字符串,我们可以将这些字符串称为URL字符串.本小节将讲解URL字符串的使用. 1.编码 ...
- Swift3.0语言教程使用路径字符串
Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...
- Swift3.0语言教程删除字符与处理字符编码
Swift3.0语言教程删除字符与处理字符编码 Swift3.0语言教程删除字符 Swift3.0语言教程删除字符与处理字符编码,在字符串中,如果开发者有不需要使用的字符,就可以将这些字符删除.在NS ...
- Swift3.0语言教程分割字符串与截取字符串
Swift3.0语言教程分割字符串与截取字符串 Swift3.0语言教程分割字符串 如果想要快速的创建一个数组,我们可以将字符串进行分割,分割后的内容将会生成一个数组.在NSString中有两个分割字 ...
- Swift3.0语言教程字符串大小写转化
Swift3.0语言教程字符串大小写转化 Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的 ...
随机推荐
- 搭建MySQL高可用负载均衡集群(收藏)
https://www.cnblogs.com/phpstudy2015-6/p/6706465.html
- Flex知识
转载:http://www.cnblogs.com/xia520pi/archive/2011/12/11/2283851.html
- 根据inode编号来删除文件或目录
在Linux系统上,有时候会出现文件名为特殊字符的文件或目录,当我们使用rm来删除这样的文件或目录时,就会出错导致删不掉.但是我们可以依据inode号来删除这样的文件,方法如下: (1)执行ls -i ...
- django中的 form 表单操作
form组件 1. 能做什么事? 1. 能生成HTML代码 input框 2. 可以校验数据 3. 保留输入的数据 4. 有错误的提示 1. 定义 from django ...
- C常用问题
linux系统,gcc编译器包含引用的头文件位置
- OpenCL 双调排序 GPU 版
▶ 参考书中的代码,写了 ● 代码,核函数文件包含三中算法 // kernel.cl __kernel void bitonicSort01(__global uint *data, const ui ...
- sqlserver查询---分配cpu等资源
数据库资源按需分配 https://www.cnblogs.com/i6first/p/4138365.html https://blog.csdn.net/kk185800961/article/d ...
- 16 python 异常处理
1.了解什么是异常处理 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止), 在python中,错误触发的异常如下 2.了解 ...
- 【转】.net 实现 语音搜索(仅限WebKit内核浏览器)
<input type="text" class="text" name="value_2" id="value_2&quo ...
- rem 的使用
1.填加以下代码 (function (designWidth, maxWidth) { var doc = document, win = window, docEl = doc.documentE ...