PHP写的从数据库导入到EXCEL

简介:
原理: 就是原理很分页原理一样! 选取一定数量的数据然后变成数组,接着直接写入文件。接下来继续选取后面没选定数据在变成数组,接着在写入文件!这个解决了内存溢出。但是多CPU还是有个考验! 由于本人刚刚学PHP(PHP培训 php教程 )不久,功力不深厚!只能写出这样的东西!
  源码!
  Excel类
PHP code
class Excel{
var $header = "<?xml version="1.0" encoding="utf-8"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">";
var $footer = "</Workbook>";
var $lines = array ();
var $worksheet_title = "Table1";
function addRow ($array) {
$cells = "";
foreach ($array as $k => $v):
if(is_numeric($v)) {
if(substr($v, 0, 1) == 0) {
$cells .= "<Cell><Data ss:Type="String">" . $v . "</Data></Cell>n";
} else {
$cells .= "<Cell><Data ss:Type="Number">" . $v . "</Data></Cell>n";
}
} else {
$cells .= "<Cell><Data ss:Type="String">" . $v . "</Data></Cell>n";
}
endforeach;
$this->lines[] = "<Row>n" . $cells . "</Row>n";
unset($arry);
}
function setWorksheetTitle ($title) {
$title = preg_replace ("/[\|:|/|?|*|[|]]/", "", $title);
$title = substr ($title, 0, 31);
$this->worksheet_title = $title;
}
function generateXML ($filename) {
// deliver header (as recommended in PHP manual)
header("Content-Type: application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: inline; filename="" . $filename . ".xls"");
// print out document to the browser
// need to use stripslashes for the damn ">"
echo stripslashes ($this->header);
echo "n<Worksheet ss:Name="" . $this->worksheet_title . "">n<Table>n";
echo "<Column ss:Index="1" ss:AutoFitWidth="0" ss:Width="110"/>n";
echo implode ("n", $this->lines);
echo "</Table>n</Worksheet>n";
echo $this->footer;
exit;
}
function write ($filename) // 重点
{
$content= stripslashes ($this->header);
$content.= "n<Worksheet ss:Name="" . $this->worksheet_title . "">n<Table>n";
$content.= "<Column ss:Index="1" ss:AutoFitWidth="0" ss:Width="110"/>n";
$content.= implode ("n", $this->lines);
$content.= "</Table>n</Worksheet>n";
$content.= $this->footer;//EXCEL文件
//error_log($content, 3,$filename);
if (!file_exists($filename))//判断有没有文件
{
fopen($filename,'a');
}
$fp = fopen($filename,'a');
fwrite($fp, $content);//写入文件
fclose($fp);
unset($this->lines);//清空内存中的数据
}
}
 页面
PHPcode
include_once"./include/class.excel.PHP";//调用EXCEL类
require_once'./include/class.zipfile.PHP';//调用大包类
$xls=newExcel;//实例化
$w=explode("limit",$where_str);//把WHERE
$p=6000;//分页原理
$a=$ip_list_count/$p;//分页原理
if($ip_list_count%$p==0)//分页原理
else//分页原理
for($i=0;$i<=$a;$i++)//循环写出
{
$s=6000*$i;
$ip=$_SG['db']->fetch_all("select*frommain_info".$w[0]."limit".$s.",".$p);//调用自己写的数据库(数据库培训数据库认证)方法,写出数组
$xls->addArray($ip);//调用EXCEL类中addArray方法
xml1=$xls->write("./".$i.".xls");//调用EXCEL类中write方法
unset($ip);
unset($xml1);
sleep(1);
}
最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
4天前
|
存储 关系型数据库 MySQL
Excel 导入 sql3
【7月更文挑战第18天】
5 2
|
13天前
|
Oracle 关系型数据库 Java
Oracle数据库导入工具IMP详解与用法
Oracle数据库导入工具IMP详解与用法
|
26天前
|
SQL 缓存 PHP
PHP 与数据库优化:提升Web应用性能的关键
在Web开发中,PHP作为一种流行的服务器端脚本语言,与数据库密切相关。本文探讨了如何通过PHP与数据库优化来提升Web应用的性能和响应速度。从数据库查询优化、索引的设计到PHP代码编写的最佳实践,我们将深入探讨每个方面如何影响应用的效率和用户体验。
|
1月前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
10天前
|
前端开发 JavaScript PHP
技术心得:前端点击按钮,导入excel文件,上传到后台,excel接收和更新数据
技术心得:前端点击按钮,导入excel文件,上传到后台,excel接收和更新数据
10 0
|
1月前
|
easyexcel Java API
SpringBoot集成EasyExcel 3.x:高效实现Excel数据的优雅导入与导出
SpringBoot集成EasyExcel 3.x:高效实现Excel数据的优雅导入与导出
170 1
|
17天前
|
SQL 关系型数据库 MySQL
Navicate,数据库,Mysql,改表,4月29日Finished - Unsuccessfully,导出数据不妨,右键,备份一下Mysql数据库的内容,你想导入和导出数据不如,用查询的方式去做
Navicate,数据库,Mysql,改表,4月29日Finished - Unsuccessfully,导出数据不妨,右键,备份一下Mysql数据库的内容,你想导入和导出数据不如,用查询的方式去做
|
1月前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用合集之php工程已经部署,可以正常访问数据库,静态资源样式无法正常加载,要怎么配置
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
Serverless 应用引擎产品使用合集之php工程已经部署,可以正常访问数据库,静态资源样式无法正常加载,要怎么配置
|
20天前
|
JSON JavaScript 数据格式
vue 电子表格Excel的上传导入、导出下载、读取本地Excel、json转Excel
vue 电子表格Excel的上传导入、导出下载、读取本地Excel、json转Excel
25 0
|
22天前
|
Oracle 关系型数据库 Java
Oracle数据库导入工具IMP详解与用法
Oracle数据库导入工具IMP详解与用法