使用PHP电子表格将数据导出到Excel时,根据文本设置单元格的宽度和高度

时间:2019-09-27 07:25:24

标签: codeigniter phpspreadsheet

我已经实现了php电子表格,可以将数据导出到excel文件中,效果很好,但是现在我正在设计excel表格的样式。我想根据文本调整单元格的宽度和高度。

我正在使用setautosize选项,但是它不起作用。

public function export()
  {

    $extension = $this->input->get('type');
$styleArray = [
    'borders' => [
        'allBorders' => [
            'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
            'color' => ['argb' => '00000000'],
        ],
    ],
    'font' => ['size' => '12'],
    'alignment' => [
        'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,
        'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER,
        'wrapText' => true,
    ],   
];

    if(!empty($extension)){
      $extension = $extension;
    } else {
      $extension = 'xlsx';
    }
    $this->load->helper('download');  
    $data = array();
    $data['title'] = 'Export Excel Sheet | Coders Mag';
    // get employee list
    //$empInfo = $this->site->employeeList();
    $fileName = 'employee-'.time(); 
    $spreadsheet = new Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();

    $sheet->setCellValue('A1', 'First_Name');
        $sheet->setCellValue('B1', 'Last_Name');
        $sheet->setCellValue('C1', 'Email');
        $sheet->setCellValue('D1', 'DOB');
        $sheet->setCellValue('E1', 'Contact_No');
        $rowCount = 2;
         $sheet->setCellValue('A' . $rowCount, 'first_name');
         $sheet->setCellValue('B' . $rowCount, 'last_name');
         $sheet->setCellValue('C' . $rowCount, 'email');
         $sheet->setCellValue('D' . $rowCount, 'dob');
         $sheet->setCellValue('E' . $rowCount, 'contact_no');


        $sheet->getStyle('A1:E2')->applyFromArray($styleArray);
        $sheet->getColumnDimension('A:E')->setAutoSize(true);
  }

0 个答案:

没有答案