Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter和PHPExcel使电池自动调宽_Codeigniter_Phpexcel - Fatal编程技术网

Codeigniter和PHPExcel使电池自动调宽

Codeigniter和PHPExcel使电池自动调宽,codeigniter,phpexcel,Codeigniter,Phpexcel,我正在使用PHPExcel从数据库导出列表 但细胞的间距并不像图中所示的那样均匀 问题:如何确保每个单元格在PHPExcel中自动均匀分布 我试过这里的答案,但没有正常工作 控制器代码 <?php class Events extends MX_Controller { private $error = array(); public function __construct() { parent::__construct(); }

我正在使用PHPExcel从数据库导出列表

但细胞的间距并不像图中所示的那样均匀

问题:如何确保每个单元格在PHPExcel中自动均匀分布

我试过这里的答案,但没有正常工作

控制器代码

<?php

class Events extends MX_Controller {

    private $error = array();

    public function __construct() {
        parent::__construct();
    }

    public function generate_excel() {

        $query = $this->db->get('event');
        $excelresults = $query->result_array();

        require (APPPATH . 'third_party/PHPExcel-1.8/Classes/PHPExcel.php');
        require (APPPATH . 'third_party/PHPExcel-1.8/Classes/PHPExcel/Writer/Excel2007.php');

        $objPHPExcel = new PHPExcel();

        $objPHPExcel->getProperties()->setCreator("");
        $objPHPExcel->getProperties()->setLastModifiedBy("");

        $objPHPExcel->getProperties()->setSubject("");
        $objPHPExcel->getProperties()->setCreator("");
        $objPHPExcel->getProperties()->setDescription("");

        $objPHPExcel->setActiveSheetIndex(0);

        $objPHPExcel->getActiveSheet()->SetCellValue("A1", 'Event');
        $objPHPExcel->getActiveSheet()->SetCellValue("B1", 'Event Title');
        $objPHPExcel->getActiveSheet()->SetCellValue("C1", 'Event Date');
        $objPHPExcel->getActiveSheet()->SetCellValue("D1", 'Event Start Time');

        $excelrow = 2;

        foreach ($excelresults as $excelresult => $excelvalue) {
            $objPHPExcel->getActiveSheet()->SetCellValue("A" . $excelrow, $excelvalue['event']);
            $objPHPExcel->getActiveSheet()->SetCellValue("B" . $excelrow, $excelvalue['event_title']);
            $objPHPExcel->getActiveSheet()->SetCellValue("C" . $excelrow, $excelvalue['event_date']);
            $objPHPExcel->getActiveSheet()->SetCellValue("D" . $excelrow, $excelvalue['event_start_time']);

            $excelrow++;
        }

        $filename = 'Bowling-Events-For ' . date('Y') . '.xlsx';
        $objPHPExcel->getProperties()->setTitle("Riwaka Bowling Club Events");

        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        header('Content-Disposition: attachment;filename="' .$filename. '"');
        header('Cache-Control: max-age=0');

        $Writer = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
        $Writer->save('php://output');

        exit;
    }
}
找到解决方案
在这里搜索更多的谷歌答案吗

foreach (range('A', $objPHPExcel->getActiveSheet()->getHighestDataColumn()) as $col) {
    $objPHPExcel->getActiveSheet()
            ->getColumnDimension($col)
            ->setAutoSize(true);
    }