Advertisement
kura2yamato

Excel 005 Lock excel

May 31st, 2021
1,273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.69 KB | None | 0 0
  1. <?php
  2. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  3. use PhpOffice\PhpSpreadsheet\IOFactory;
  4. /*
  5. Bagian ini silahkan anggap tidak ada..
  6. karena dasarnya ini include composer (autoload.php)
  7. */
  8. {
  9.     $paths = [
  10.         __DIR__ . '/../vendor/autoload.php', // In case PhpSpreadsheet is cloned directly
  11.         __DIR__ . '/../../../autoload.php', // In case PhpSpreadsheet is a composer dependency.
  12.         __DIR__ . '/../../../web/example/vendor/autoload.php' //memakai ini
  13.     ];
  14.  
  15.     foreach ($paths as $path) {
  16.         if (file_exists($path)) {
  17.             require_once $path;
  18.             //echo "run:$path";
  19.             ;
  20.         }
  21.     }
  22.  
  23.  
  24.    
  25. }
  26.  
  27.  
  28. function sCellPos($row,$col)
  29. {
  30.     //hanya untuk A-Z (26)
  31.     //$p=ord('A');//65
  32.     $rowInt=64+$row;
  33.     $p=chr($rowInt).$col;
  34.     return $p;
  35. }
  36.  
  37. //echo sCellPos(1,2);echo sCellPos(2,2);echo sCellPos(4,2);
  38. //die();
  39. ?>
  40. <!--
  41. /**
  42. ##INFO##
  43. {"title":"excel Dasar ","detail":"Membuat excel menggunakan PHP Spreadsheet . Memanfaatkan Lock dan posisi ditentukan dengan fungsi bukan huruf.<br>terbatas hanya A-Z"}
  44. ##INFO##
  45. **/
  46. -->
  47. <?php
  48. $spreadsheet = new Spreadsheet();
  49.  
  50. $spreadsheet->setActiveSheetIndex(0)
  51.     ->setCellValue(sCellPos(1,2), 'Hello')
  52.     ->setCellValue(sCellPos(2,2), 'world!')
  53.     ->setCellValue(sCellPos(3,1), 'Hello')
  54.     ->setCellValue(sCellPos(4,2), 'world!');
  55.    
  56. $spreadsheet->getActiveSheet()
  57.     ->setTitle('Simple');
  58.  
  59. $spreadsheet->getActiveSheet()->getProtection()->setPassword('php2021');
  60. $spreadsheet->getActiveSheet()->getProtection()->setSheet(true); // This should be enabled in order to enable any of the following!
  61. $spreadsheet->getActiveSheet()->getProtection()->setSort(true);
  62. $spreadsheet->getActiveSheet()->getProtection()->setInsertRows(true);
  63. $spreadsheet->getActiveSheet()->getProtection()->setFormatCells(true);
  64.  
  65. //properties
  66. $spreadsheet->getProperties()->setCreator('Gunawan Wibisono')
  67.     ->setLastModifiedBy('Scripter PHP')
  68.     ->setTitle('Learn Document part 2')
  69.     ->setSubject('Office 2007 XLSX Learn Document')
  70.     ->setDescription('membuat dokumen Office 2007 XLSX, memanfaatkan Lock.')
  71.     ->setKeywords('office 2007 openxml php')
  72.     ->setCategory('php excel native');
  73.    
  74. /*
  75. Pada Bagian ini disarankan simpan ke folder dahulu
  76. sebelum mengeluarkan..
  77. atau di download
  78. */
  79. $file='contoh005.xlsx';
  80.  
  81. header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  82. header('Content-Disposition: attachment;filename="'.$file.'"');
  83. header('Content-Length: ' . filesize($file));
  84.  
  85. header('Content-Transfer-Encoding: binary');
  86. header('Cache-Control: must-revalidate');
  87. header('Pragma: public');
  88.  
  89. ob_clean();
  90. flush();
  91.  
  92. $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
  93. $writer->save($file);
  94.  
  95. $str=file_get_contents($file);
  96.  
  97. die($str);
  98.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement