public function test_export(){
// 设置php可使用内存
ini_set("memory_limit", "1024M");
//设置执行时间最大值
set_time_limit(0);
//引入phpexcel类
Vendor('PHPExcel.PHPExcel', '', '.php');

$objPHPExcel = new \PHPExcel();

//设置内创表
$objPHPExcel->setActiveSheetIndex(0);
//设置表头
$objPHPExcel->getActiveSheet()->setCellValue('A1', "客户姓名")
->setCellValue('B1', "性别");

/**
* 左对齐与 右对齐
* 可设置整列->getStyle('N') 可针对行rows设置getStyle('N3')
*/
$objPHPExcel->getActiveSheet()->getStyle('N')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('N3')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);

//50000条数据,excel表 15个字段

$arrays = M('user')->order('id desc')->limit(50000)->select();
if (!empty($arrays)) {
foreach ($arrays as $key => $value) {
$keys = $key + 2;
$column = "";
for($i = 0;$i<15;$i++){
$column = chr(ord("A") + ($i));
// die;
// $objActSheet->getStyle($column . ($i + $Cellkey))->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
$objPHPExcel->getActiveSheet()->setCellValue($column . $keys,$value['realname']);
}
}
} else {
echo '暂无数据';
die;
}

$objPHPExcel->getActiveSheet()->setTitle('导出表名称');

//执行时间

$callStartTime = microtime(true);
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
//$path = './Public/execTemaplate/'.'111'. '.xlsx';
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
$callEndTime = microtime(true);
$callTime = $callEndTime - $callStartTime;

echo date('H:i:s'), ' 导出时间 ', sprintf('%.4f', $callTime), " 秒","<br>";

}

PHP 用来做 excel 导出,本身就有着限制。通常遇到的问题 一般就是 服务器超时,内存溢出等。该例子只测试了 1-5万级别的 数据导出。下一个测试 分页导出10万以上数据。



更多相关文章

  1. 纯真ip数据库查询的php实现(补充分组查询)
  2. 数据库是存储我的Web应用程序数据的最佳选择吗?
  3. php执行数据库查询返回json格式数据
  4. PHP更新基于其他表的表数据
  5. 解决PHP导出大量数据时设置超链接的问题
  6. 如何用jQuery AJAX调用发送所有当前的post数据
  7. 如何在mysql中配置区分大小写的数据库标识符
  8. 根据网址上的国家/地区将用户重定向到正确的数据库,我使用i18n fo
  9. ThinkPHP连接主从数据库

随机推荐

  1. Android JB 4.2 中InputManager 启动过程
  2. Android(安卓)应用图标库icons与icons PS
  3. Android利用WindowManager实现悬浮窗
  4. Android Studio Gradle相关异常记录
  5. 笔记——Android 中的小细节
  6. AndroidManifest.xml文件详解(service)
  7. 【Android】Wifi管理与应用
  8. java.lang.ClassCastException: android.
  9. Android处理各种触摸事件
  10. Android周报第二十四期