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