установка ширины и высоты ячейки в соответствии с текстом при экспорте данных, чтобы преуспеть с помощью таблицы php - PullRequest
0 голосов
/ 27 сентября 2019

Я реализовал электронную таблицу 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);
  }
...