求助关于PHPExcel的问题

很訾 2017-10-13 11:08:42
大家看看如何实现比较好

PHPexce设置宽度自适应的方式是
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
如果要设置A到G列的宽度都自适应,除了循环逐个设置以外有没有什么更简便的方法

然后如果要设置成宽度大于50就设置为50,小于50设置为自适应
我觉得应该是这么做
先设为自适应,然后读取自适应后的宽度,然后再判断,大于50的再把宽度设为50
但是如何在导出excel的过程中读取自适应后的宽度

代码大概是这样
import("Org.Util.PHPExcel");
import("Org.Util.PHPExcel.Writer.Excel5");
import("Org.Util.PHPExcel.IOFactory.php");
$objPHPExcel=new \PHPExcel();
$objProps=$objPHPExcel->getProperties();
$objActSheet=$objPHPExcel->getActiveSheet();
$objActSheet->setTitle("test");

//设置值
$objPHPExcel->setActiveSheetIndex(0)->setCellValue("A1","testa1");
$objPHPExcel->setActiveSheetIndex(0)->setCellValue("B1","testb1testb1testb1testb1testb1testb1testb1testb1");

//自适应宽度的设置,是否只能逐个设置
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);


$objPHPExcel->setActiveSheetIndex(0); // 设置活动表到第一个表
ob_end_clean();
ob_start();
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment;filename=testtest");
header('Cache-Control: max-age=0');
$objWriter=\PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');
$objWriter->save('php://output'); // 文件通过浏览器下载
exit();



...全文
151 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
很訾 2017-11-02
  • 打赏
  • 举报
回复
谁来踩一个,送分了
很訾 2017-10-13
  • 打赏
  • 举报
回复
还有自适应宽度感觉非常不准啊 更excel的使用完全不同

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧