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

泰安新闻网今日头条哈尔滨网络seo公司

泰安新闻网今日头条,哈尔滨网络seo公司,上海网站制作的,wordpress制作自定义页面的方法用php生成excel模板,并设置下拉框的选项。如果选项太多,可能导致下拉框不显示的问题。下面会给出示例,以及解决方案,支持生成包含大量数据的下拉框。 // $info 为下拉框的数数据,[男,女,保密] function exportDataSel…

用php生成excel模板,并设置下拉框的选项。如果选项太多,可能导致下拉框不显示的问题。下面会给出示例,以及解决方案,支持生成包含大量数据的下拉框。

// $info 为下拉框的数数据,['男','女','保密']
function exportDataSelectOptions ($info){
//文件名称
$filename = 'AAAA导入模板';//excel表格列名
$header = [['名字',30],['手机号',25],['邮箱',25],['性别',10],['所在地址',26]];//需要制作的下拉框文件
$spectials = [   ['column'=>'D','options'=>['男','女','保密'] ],['column'=>'E','options'=>$info]];//样例
$data = [['测试样例1','13665663533','13665663533@qq.com','女',$info[0]],['测试样例2','13665663532','13665663532@qq.com','男',$info[0]],['测试样例3','13665663513','13665663513@qq.com','男',$info[0]],];ini_set("error_reporting","E_ALL & ~E_NOTICE");require_once '../phpexcel/Classes/PHPExcel.php'; //初始化PHPExcel(),不使用模板 $objPHPExcel = new PHPExcel();$objPHPExcel->setActiveSheetIndex(0);//头部样式
$objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$hk = 0; //所有单元格(行)默认高度
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(25);// 自动换行
// $objPHPExcel->getActiveSheet()->getStyle( 'A1:L100')->getAlignment()->setWrapText(true);// 设置特有的表格样式
$styleThinBlackBorderOutline = array( //边框线'borders' => array('allborders' => array( //设置全部边框'style' => \PHPExcel_Style_Border::BORDER_THIN //粗的是thick),),
);
//设置边框
$objPHPExcel->getActiveSheet()->getStyle( 'A1:L100')->applyFromArray($styleThinBlackBorderOutline);//合并单元格(如果要拆分单元格是需要先合并再拆分的,否则程序会报错)
$objPHPExcel->getActiveSheet()->mergeCells('A1:L1');//拆分单元格;
// $objPHPExcel->getActiveSheet()->unmergeCells('B7:D7'); // 设置内容 
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1','标题:XXXXXXX');
// 设置字体样式
// $PHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setName('宋体');
// 设置文字加粗
// $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);  
// 设置文字大小
// $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(18);
// 设置文字水平居中
$objPHPExcel->getActiveSheet(0)->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
// 设置文字垂直居中
$objPHPExcel->getActiveSheet(0)->getStyle('A1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_BOTTOM);
// 设置自动换行
// $PHPExcel->getActiveSheet(0)->getStyle('A2')->getAlignment()->setWrapText(true);//写入头部
foreach ($header as $k => $v)
{$colum = \PHPExcel_Cell::stringFromColumnIndex($hk);$objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum.$rowindex, $v[0]);$objPHPExcel->getActiveSheet(0)->getColumnDimension($colum )->setWidth($v[1]);$hk += 1;
}$objActSheet = $objPHPExcel->getActiveSheet(0);// 新建工作表  -->保存下拉框数据来源
$objPHPExcel->createSheet(); 
$subObject = $objPHPExcel->getSheet(1);
$subObject->setTitle("data");$subcolumn = ['A','B','C','D','E','F','G','H','I','J','K'];
//设置下拉框
foreach($spectials as $k => $spectial)
{//保存下拉框内容到新建的工作表中$list = $spectial['options']; if ($list) {foreach ($list as $i => $d) {$c = $subcolumn[$k].($i+1);$subObject->setCellValue($c,$d); } }//下拉框写入开始行数$n = 2;// 我这里设置100行,可自行设置while($n < 101) {$objValidation = $objActSheet->getCell($spectial['column'].(string)$n)->getDataValidation(); //这一句为要设置数据有效性的单元格// $objValidation的各项设置参数可详见phpexcel文件,// 目录大概为/.../phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php // 2767行 方法名:writeDataValidity$objValidation -> setType(\PHPExcel_Cell_DataValidation::TYPE_LIST)-> setErrorStyle(\PHPExcel_Cell_DataValidation::STYLE_STOP)-> setAllowBlank(true)-> setShowInputMessage(true)-> setShowErrorMessage(true)-> setShowDropDown(true)-> setErrorTitle('输入的值有误')-> setError('您输入的值不在下拉框列表内.')-> setPromptTitle('')-> setPrompt('')-> setOperator(\PHPExcel_Cell_DataValidation::OPERATOR_BETWEEN)->setFormula1("data!$".$subcolumn[$k]."$1:$".$subcolumn[$k]."$".count($list));  //下拉框数据来源多的时候,建议使用此方法// -> setFormula1('"'.$optionsString.'"'); //如果下拉框数据来源少,可使用此方法,无需新建表格$n++;}
}//样例数据
$column = 2;
foreach($data as $key => $rows)  //行写入
{$span = 0;foreach($rows as $keyName => $value) // 列写入{$j = \PHPExcel_Cell::stringFromColumnIndex($span);$objActSheet->setCellValue($j.$column, $value);$span++;}$column++;
}ob_end_clean();
ob_start();
$objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);
ob_end_flush();
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="'.$filename.'.xls"');
header("Content-Transfer-Encoding: binary");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
$objWriter->save('php://output');
//清空数据缓存
unset($data);
}

http://www.dtcms.com/wzjs/200870.html

相关文章:

  • java开发网站教程网站报价
  • 建网站域名注册沧州seo公司
  • 建设好网站为什么读取不到文件优化关键词的方法有哪些
  • 北京做网站公司哪家好世界羽联最新排名
  • 武汉做网站推广哪家好整合营销名词解释
  • 国内10大网站建设公司灰色词排名代做
  • 网站建设推广济南兴田德润优惠吗微信拓客的最新方法
  • 最靠谱的网站建设公司北京十大最靠谱it培训机构
  • 哈尔滨制作网站的公司国外免费推广网站有哪些
  • 网站建设存在的问题深圳百度竞价推广
  • 律师网站建设模板山东做网站公司
  • 长沙小红书推广公司杭州seo技术
  • 耒阳建设局官方网站做做网站
  • 做搜狗手机网站优化首长沙优化科技有限公司正规吗
  • 个人免费简历模板网站优化外包
  • 设计公司logo软件北京seo优化分析
  • 简述电子商务网站开发的基本原则他达那非副作用太强了
  • 小企业网站建设一般收费seo门户网站
  • 商城网站建设价格网络推广文案
  • 网站建设哪个好一些电子商务营销方法
  • 上海网站定制价格低百度系优化
  • 怎样建一个自己公司的网站营销策略4p
  • 网站域名做入什么科目热狗seo外包
  • 广告招牌制作设计软件seo辅助工具
  • 何炅做的网站广告百度sem竞价托管
  • 网站建设的公司好做吗seo网站关键词优化机构
  • 在哪查询网站做的哪些外链中国十大网络营销平台
  • 无锡做网站的公司网络营销课程论文
  • 信息技术网站建设教案四种营销策略
  • 郑州的做网站公司哪家好seo成都培训