当前位置: 首页 > wzjs >正文

百度站长社区做销售记住这十句口诀

百度站长社区,做销售记住这十句口诀,卖域名的网站要怎么做,建设网站好学吗用PHPExcel 封装的导出方法,支持导出无限列 避免PHPExcel_Exception Invalid cell coordinate [1 异常错误 /*** EXCEL导出* param [string] $file_name 保存的文件名及表格工作区名,不加excel后缀名* param [array] $fields 二维数组* param [array] $…

用PHPExcel 封装的导出方法,支持导出无限列
避免PHPExcel_Exception Invalid cell coordinate [1 异常错误

/*** EXCEL导出* @param [string] $file_name 保存的文件名及表格工作区名,不加excel后缀名* @param [array] $fields 二维数组* @param [array] $list 数据 * @param [array] $options e.g. [* 'download_items'=>[需要下载图片的字段项],* 'string_items'=>[转成字符避免科学计数法转换的字段], * ]* @return [string]* @Description* @example* @author Tj* @date 2024-12-26*/static public function exportExcelData($file_name,$fields,$list,$options = ['download_items' => [],'string_items' => [],]) {ini_set("memory_limit", "128M");ini_set("max_execution_time",  "600");// 创建一个样式数组$styleArray = array('borders' => array('allborders' => array('style' => \PHPExcel_Style_Border::BORDER_THIN, // 边框样式'color' => array('rgb' => '000000'), // 边框颜色),),);$objectPHPExcel = new \PHPExcel();$objectPHPExcel->setActiveSheetIndex(0);$objectPHPExcel->getActiveSheet()->setTitle($file_name);//设置表格头的输出$newFields = $fields;// 锁定表头$objectPHPExcel->getActiveSheet()->freezePane('A2');// 表头设置foreach ($newFields as $fkey => $fval) {if ($fval['selected'] == 1) {$excelColumnNumHeader = self::int_to_chr($fkey);$objectPHPExcel->setActiveSheetIndex()->setCellValue($excelColumnNumHeader . '1', $fval['value']);// 设置表头加粗$objectPHPExcel->getActiveSheet()->getStyle($excelColumnNumHeader . '1')->getFont()->setBold(true);// 边框$objectPHPExcel->getActiveSheet()->getStyle($excelColumnNumHeader . '1')->applyFromArray($styleArray);// 背景色$objectPHPExcel->getActiveSheet()->getStyle($excelColumnNumHeader . '1')->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);$objectPHPExcel->getActiveSheet()->getStyle($excelColumnNumHeader . '1')->getFill()->getStartColor()->setARGB('E0EEE0');// 设置行高$objectPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(18);} else {unset($newFields[$fkey]);}// 画边框 }//订单数据$serviceFields = array_column($newFields, 'key');$coverPicArr = [];foreach ($list as $itemKey => $item) {foreach ($serviceFields as $sfKey => $sfVal) {$excelColumnNum = self::int_to_chr($sfKey); // A-ZZZ$excelRowNum = $itemKey + 2;// 文字垂直居中$objectPHPExcel->getActiveSheet()->getstyle($excelColumnNum . $excelRowNum)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);// 画边框 $objectPHPExcel->getActiveSheet()->getStyle($excelColumnNum . $excelRowNum)->applyFromArray($styleArray);// 单元格宽$objectPHPExcel->getActiveSheet()->getColumnDimension($excelColumnNum)->setWidth(20);// 图片if (isset($options) && in_array($sfVal, $options['download_items'])) {$local_temp_pic_prev = './temp/export/excel_pic/';$pic_link = $item[$sfVal];if (is_array($pic_link)) {$pic_link = $pic_link[0];}$temp_pic = self::getFilename($pic_link);$local_pic_path = $local_temp_pic_prev . $temp_pic;if (!file_exists($local_pic_path)) {$temp_pic = self::download($pic_link, $local_temp_pic_prev);$local_pic_path = $local_temp_pic_prev . $temp_pic;}if (file_exists($local_pic_path)) {$img = new \PHPExcel_Worksheet_Drawing();$img->setPath($local_pic_path); //写入图片路径$img->setHeight(100); //写入图片高度$img->setWidth(100); //写入图片宽度$img->setOffsetX(5); //写入图片在指定格中的X坐标值$img->setOffsetY(5); //写入图片在指定格中的Y坐标值$img->setRotation(0); //设置旋转角度$img->getShadow()->setVisible(true);$img->getShadow()->setDirection(50);$img->setCoordinates($excelColumnNum . $excelRowNum); //设置图片所在表格位置$img->setWorksheet($objectPHPExcel->getActiveSheet()); //把图片写到当前的表格中$coverPicArr[] = $local_pic_path; //记录临时图片//设置列宽$objectPHPExcel->getActiveSheet()->getColumnDimension($excelColumnNum)->setWidth(16);// 设置行高$objectPHPExcel->getActiveSheet()->getRowDimension($excelRowNum)->setRowHeight(85);}} else {// 文字// 转字符型字段if (isset($options) && in_array($sfVal, $options['string_items'])) {$objectPHPExcel->setActiveSheetIndex()->setCellValueExplicit($excelColumnNum . $excelRowNum, $item[$sfVal], \PHPExcel_Cell_DataType::TYPE_STRING);} else {$objectPHPExcel->setActiveSheetIndex()->setCellValue($excelColumnNum . $excelRowNum, $item[$sfVal]);}}}}//生成表格文件ob_end_clean(); //一定要加否则打开excel后报告部分内容有问题,是否让我们修复尽量尝试恢复ob_start();//设置输出文件名及格式header('Content-Disposition:attachment;filename="' . urlencode($file_name) . '-' . date("YmdHis") . '.xlsx"');header('Content-Type:application/vnd.ms-excel;charset=utf-8');//导出.xls格式的话使用Excel5,若是想导出.xlsx需要使用Excel2007$objWriter = \PHPExcel_IOFactory::createWriter($objectPHPExcel, 'Excel2007');$objWriter->save('php://output');//删除临时图片foreach ($coverPicArr as $coverPicItem) {unlink($coverPicItem);}ob_end_flush();exit; //一定要加exit;否则打开excel后报告部分内容有问题,是否让我们修复尽量尝试恢复}/*** 下载远程图片* @param unknown $url* @param string $path* @return unknown*/static private function download($url, $path = 'images/'){if (!file_exists($path)) {mkdir($path, 0755, true);}$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书$file = curl_exec($ch);curl_close($ch);$filename = self::getFilename($url);$resource = fopen($path . $filename, 'a');fwrite($resource, $file);fclose($resource);return $filename;}/*** * @param string $url* @return string*/static private function getFilename($url){return pathinfo($url, PATHINFO_BASENAME);}/*** 导出信息处理* @return unknown[]*/static private function dataFields($fields){$newFields = [];foreach ($fields as &$item) {if (isset($item['selected']) && $item['selected'] == 1) {$newFields[$item['key']] = $item['value'];}}return $newFields;}/*** @Notes:将整数转为excel对应的列标* @Function int_to_chr* @param $index  0开始的索引号* @param $start* @return string* @Author tj* @Date 2025/04/09*/static public function int_to_chr($index, $start = 65){$str = '';if ($index >= 26) {$les = $index % 26;$index = intval($index / 26);$str .= self::int_to_chr($index - 1);$str .= chr($start + $les);return $str;}return chr($start + $index) . $str;}
http://www.dtcms.com/wzjs/403300.html

相关文章:

  • 外贸平台都有哪些郑州专业seo首选
  • 门户网站优化方案网站推广广告
  • win7云主机怎么做网站代刷网站推广免费
  • ecs服务器如何做网站市场推广和销售的区别
  • 做网站海报杭州seo托管公司推荐
  • 网站建设流程文字稿搭建网站的软件
  • 建设工程施工合同专属管辖seo网站优化软件价格
  • 新开传奇手游网站大全合肥百度网站排名优化
  • 陕西泰烜建设集团网站长沙seo优化排名推广
  • 网站上怎么做支付接口安徽网站优化
  • 做电影网站有风险吗怎样开自己的网站
  • 驻马店做网站优化百度搜索网站优化
  • 广州北京网站建设公司哪家好郑州做网站推广哪家好
  • 宁波市江东区地块建设网站电商最好卖的十大产品
  • 商务网站建设联系方式怎么在线上推广自己的产品
  • 网站备案资质seo网站建设优化
  • PHP 5+MySQL动态网站开发指南北京网络营销
  • 网站的动态文字是怎么做的怎样加入网络营销公司
  • 昆明市网站推广网站优化建议
  • 大学生网站建设开题报告雅虎搜索
  • 重庆网站建设推荐域名推荐
  • 广东网站建设公司电话百度指数查询手机版
  • 佛山网站搭建抖音seo优化系统招商
  • 外贸网站个人简介站长工具查询seo
  • 做app原型的网站小程序开发工具
  • 深圳市网站开发坂田附近渠道网
  • 韶关网站建设第一品牌产品线下推广方式都有哪些
  • readme.md做网站近几天发生的新闻大事
  • 朋友做的网站图片不显示不出来的实时军事热点
  • 吉安哪里做网站搜索引擎公司排名