49_alignment.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  3. use PhpOffice\PhpSpreadsheet\Style\Alignment;
  4. require __DIR__ . '/../Header.php';
  5. $helper->log('Create new Spreadsheet object');
  6. $spreadsheet = new Spreadsheet();
  7. $spreadsheet->getProperties()->setTitle('Alignment');
  8. $sheet = $spreadsheet->getActiveSheet();
  9. $hi = 'Hi There';
  10. $ju = 'This is a longer than normal sentence';
  11. $sheet->fromArray([
  12. ['', 'default', 'bottom', 'top', 'center', 'justify', 'distributed'],
  13. ['default', $hi, $hi, $hi, $hi, $hi, $hi],
  14. ['left', $hi, $hi, $hi, $hi, $hi, $hi],
  15. ['right', $hi, $hi, $hi, $hi, $hi, $hi],
  16. ['center', $hi, $hi, $hi, $hi, $hi, $hi],
  17. ['justify', $ju, $ju, $ju, $ju, $ju, $ju],
  18. ['distributed', $ju, $ju, $ju, $ju, $ju, $ju],
  19. ]);
  20. $sheet->getColumnDimension('B')->setWidth(20);
  21. $sheet->getColumnDimension('C')->setWidth(20);
  22. $sheet->getColumnDimension('D')->setWidth(20);
  23. $sheet->getColumnDimension('E')->setWidth(20);
  24. $sheet->getColumnDimension('F')->setWidth(20);
  25. $sheet->getColumnDimension('G')->setWidth(20);
  26. $sheet->getRowDimension(2)->setRowHeight(30);
  27. $sheet->getRowDimension(3)->setRowHeight(30);
  28. $sheet->getRowDimension(4)->setRowHeight(30);
  29. $sheet->getRowDimension(5)->setRowHeight(30);
  30. $sheet->getRowDimension(6)->setRowHeight(40);
  31. $sheet->getRowDimension(7)->setRowHeight(40);
  32. $minRow = 2;
  33. $maxRow = 7;
  34. $minCol = 'B';
  35. $maxCol = 'g';
  36. $sheet->getStyle("C$minRow:C$maxRow")
  37. ->getAlignment()
  38. ->setVertical(Alignment::VERTICAL_BOTTOM);
  39. $sheet->getStyle("D$minRow:D$maxRow")
  40. ->getAlignment()
  41. ->setVertical(Alignment::VERTICAL_TOP);
  42. $sheet->getStyle("E$minRow:E$maxRow")
  43. ->getAlignment()
  44. ->setVertical(Alignment::VERTICAL_CENTER);
  45. $sheet->getStyle("F$minRow:F$maxRow")
  46. ->getAlignment()
  47. ->setVertical(Alignment::VERTICAL_JUSTIFY);
  48. $sheet->getStyle("G$minRow:G$maxRow")
  49. ->getAlignment()
  50. ->setVertical(Alignment::VERTICAL_DISTRIBUTED);
  51. $sheet->getStyle("{$minCol}3:{$maxCol}3")
  52. ->getAlignment()
  53. ->setHorizontal(Alignment::HORIZONTAL_LEFT);
  54. $sheet->getStyle("{$minCol}4:{$maxCol}4")
  55. ->getAlignment()
  56. ->setHorizontal(Alignment::HORIZONTAL_RIGHT);
  57. $sheet->getStyle("{$minCol}5:{$maxCol}5")
  58. ->getAlignment()
  59. ->setHorizontal(Alignment::HORIZONTAL_CENTER);
  60. $sheet->getStyle("{$minCol}6:{$maxCol}6")
  61. ->getAlignment()
  62. ->setHorizontal(Alignment::HORIZONTAL_JUSTIFY);
  63. $sheet->getStyle("{$minCol}7:{$maxCol}7")
  64. ->getAlignment()
  65. ->setHorizontal(Alignment::HORIZONTAL_DISTRIBUTED);
  66. $sheet->getCell('A9')->setValue('Center Continuous A9-C9');
  67. $sheet->getStyle('A9:C9')
  68. ->getAlignment()
  69. ->setHorizontal(Alignment::HORIZONTAL_CENTER_CONTINUOUS);
  70. $sheet->getCell('A10')->setValue('Fill');
  71. $sheet->getStyle('A10')
  72. ->getAlignment()
  73. ->setHorizontal(Alignment::HORIZONTAL_FILL);
  74. $sheet->setSelectedCells('A1');
  75. $helper->write($spreadsheet, __FILE__, ['Xlsx', 'Html', 'Xls']);