Advertisement
diano_20

export

Sep 4th, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.38 KB | None | 0 0
  1. <?php
  2. /**
  3.  * PHPExcel
  4.  *
  5.  * Copyright (C) 2006 - 2012 PHPExcel
  6.  *
  7.  * This library is free software; you can redistribute it and/or
  8.  * modify it under the terms of the GNU Lesser General Public
  9.  * License as published by the Free Software Foundation; either
  10.  * version 2.1 of the License, or (at your option) any later version.
  11.  *
  12.  * This library is distributed in the hope that it will be useful,
  13.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15.  * Lesser General Public License for more details.
  16.  *
  17.  * You should have received a copy of the GNU Lesser General Public
  18.  * License along with this library; if not, write to the Free Software
  19.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  20.  *
  21.  * @category PHPExcel
  22.  * @package PHPExcel
  23.  * @copyright Copyright (c) 2006 - 2012 PHPExcel (http://www.codeplex.com/PHPExcel)
  24.  * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
  25.  * @version 1.7.7, 2012-05-19
  26.  */
  27.  
  28. $tgl_awal = $_GET['tgl_awal'];
  29. $tgl_akhir = $_GET['tgl_akhir'];
  30. /** Error reporting */
  31. error_reporting(E_ALL);
  32.  
  33. date_default_timezone_set('Europe/London');
  34.  
  35. /** Include PHPExcel */
  36. require_once dirname(__FILE__) . '\PHPExcel-1.8\Classes\PHPExcel.php';
  37.  
  38. // Create new PHPExcel object
  39. $objPHPExcel = new PHPExcel();
  40.  
  41. // Set document properties
  42. $objPHPExcel->getProperties()
  43.  ->setCreator("Dian Salma")
  44.  ->setLastModifiedBy("Salma")
  45.  ->setTitle("Laporan Data Keluar")
  46.  ->setCategory("Test result file");
  47.  
  48. // Create the worksheet
  49. $objPHPExcel->setActiveSheetIndex(0);
  50.  
  51. $objPHPExcel->getActiveSheet()
  52. ->setCellValue('A7', "No")
  53.  ->setCellValue('B7', "Nama Part")
  54.  ->setCellValue('C7', "Spesifikasi")
  55.  ->setCellValue('D7', "Maker")
  56.  ->setCellValue('E7', "Tanggal Pengeluaran")
  57.  ->setCellValue('F7', "Pegawai")
  58.  ->setCellValue('G7', "Nama Dies")
  59.  ->setCellValue('H7', "Keperluan")
  60.  ->setCellValue('I7', "Total QTY");
  61.  
  62. $server = "localhost";
  63. $username = "root";
  64. $password = "";
  65. $db = "adm_gudang";
  66.  
  67. $koneksi = mysql_connect($server,$username,$password);
  68. mysql_select_db($db, $koneksi) or die("Cannot connect to database..");
  69.  
  70. $SQL = mysql_query("SELECT * FROM part_keluar INNER JOIN part ON part_keluar.id_part = part.id_part WHERE tgl_pengeluaran BETWEEN  '$_GET[tgl_awal]' AND  '$_GET[tgl_akhir]'");
  71.  
  72. $totJML = mysql_num_rows($SQL);
  73.  
  74. $dataArray= array();
  75. $no=0;
  76. while($row = mysql_fetch_array($SQL, MYSQL_ASSOC)){
  77.  $no++;
  78.  $row_array['no'] = $no;
  79.  $row_array['nama_part'] = $row['nama_part'];
  80.  $row_array['spec'] = $row['spec'];
  81.  $row_array['maker'] = $row['maker'];
  82.  $row_array['tgl_pengeluaran'] = $row['tgl_pengeluaran'];
  83.  $row_array['nama_pegawai]'] = $row['nama_pegawai'];
  84.  $row_array['nama_dies'] = $row['nama_dies'];
  85.  $row_array['keperluan'] = $row['keperluan'];
  86.  $row_array['total_qty'] = $row['total_qty'];
  87.  array_push($dataArray,$row_array);
  88. }
  89. $nox=$no+7;
  90. $objPHPExcel->getActiveSheet()->fromArray($dataArray, NULL, 'A8');
  91.  
  92. // Set page orientation and size
  93. $objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
  94. $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_LEGAL);
  95. $objPHPExcel->getActiveSheet()->getPageMargins()->setTop(0.75);
  96. $objPHPExcel->getActiveSheet()->getPageMargins()->setRight(0.75);
  97. $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft(0.75);
  98. $objPHPExcel->getActiveSheet()->getPageMargins()->setBottom(0.75);
  99. $objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $objPHPExcel->getProperties()->getTitle() . '&RPage &P of &N');
  100.  
  101. // Set title row bold;
  102. $objPHPExcel->getActiveSheet()->getStyle('A7:M7')->getFont()->setBold(true);
  103. // Set fills
  104. $objPHPExcel->getActiveSheet()->getStyle('A7:M7')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
  105. $objPHPExcel->getActiveSheet()->getStyle('A7:M7')->getFill()->getStartColor()->setARGB('FF808080');
  106.  
  107. $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
  108. $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setAutoSize(true);
  109. $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(4.43);
  110. $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(6.29);
  111. $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(11.14);
  112. $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(21);
  113. $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(9.14);
  114. $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(16.14);
  115. $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(23);
  116. $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(11);
  117. $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(6.86);
  118. $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(7.43);
  119. $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(6.29);
  120. $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(15.29);
  121. $objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(11.1);
  122.  
  123. // Set autofilter
  124.  // Always include the complete filter range!
  125.  // Excel does support setting only the caption
  126.  // row, but that's not a best practise...
  127. $objPHPExcel->getActiveSheet()->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension());
  128.  
  129. // Set active sheet index to the first sheet, so Excel opens this as the first sheet
  130. $objPHPExcel->setActiveSheetIndex(0);
  131.  
  132. $sharedStyle1 = new PHPExcel_Style();
  133. $sharedStyle2 = new PHPExcel_Style();
  134.  
  135. $sharedStyle1->applyFromArray(
  136.  array('borders' => array(
  137.  'bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN),
  138.  'top' => array('style' => PHPExcel_Style_Border::BORDER_THIN),
  139.  'right' => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM),
  140.  'left' => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM)
  141.  ),
  142.  ));
  143.  
  144. $objPHPExcel->getActiveSheet()->setSharedStyle($sharedStyle1, "A7:M$nox");
  145.  
  146. // Set style for header row using alternative method
  147. $objPHPExcel->getActiveSheet()->getStyle('A7:M7')->applyFromArray(
  148.  array(
  149.  'font' => array(
  150.  'bold' => true
  151.  ),
  152.  'alignment' => array(
  153.  'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_LEFT,
  154.  ),
  155.  'borders' => array(
  156.  'top' => array(
  157.  'style' => PHPExcel_Style_Border::BORDER_THIN
  158.  )
  159.  ),
  160.  'fill' => array(
  161.  'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
  162.  'rotation' => 90,
  163.  'startcolor' => array(
  164.  'argb' => 'FFA0A0A0'
  165.  ),
  166.  'endcolor' => array(
  167.  'argb' => 'FFFFFFFF'
  168.  )
  169.  )
  170.  )
  171. );
  172.  
  173. // Add a drawing to the worksheet
  174.  
  175. $objPHPExcel->getActiveSheet()->getStyle('A7:M1000')->getFont()->setName('Arial');
  176. $objPHPExcel->getActiveSheet()->getStyle('A7:M1000')->getFont()->setSize(7);
  177.  
  178. // Merge cells
  179. $objPHPExcel->getActiveSheet()->mergeCells('D2:M2');
  180. $objPHPExcel->getActiveSheet()->setCellValue('D2', "PEMERINTAH KOTA ********");
  181. $objPHPExcel->getActiveSheet()->mergeCells('D3:M3');
  182. $objPHPExcel->getActiveSheet()->setCellValue('D3', "DINAS PENDIDIKAN");
  183. $objPHPExcel->getActiveSheet()->mergeCells('D4:M4');
  184. $objPHPExcel->getActiveSheet()->setCellValue('D4', "SMPN 5 ********");
  185. $objPHPExcel->getActiveSheet()->mergeCells('D5:M5');
  186. $objPHPExcel->getActiveSheet()->setCellValue('D5', "Jl.WR.Supratman 12, Telp. 482713 ********");
  187. $objPHPExcel->getActiveSheet()->mergeCells('D6:M6');
  188. $objPHPExcel->getActiveSheet()->setCellValue('D6', "REKAPITULASI DATA SISWA TAHUN $tahun");
  189. $objPHPExcel->getActiveSheet()->getStyle('D2:M6')->getFont()->setName('Arial');
  190. $objPHPExcel->getActiveSheet()->getStyle('D2:M5')->getFont()->setSize(18);
  191. $objPHPExcel->getActiveSheet()->getStyle('D6')->getFont()->setSize(22);
  192. $objPHPExcel->getActiveSheet()->getStyle('D2:M6')->getFont()->setBold(true);
  193. $objPHPExcel->getActiveSheet()->getStyle('A2:M6')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  194.  
  195. // Redirect output to a client’s web browser (Excel2007)
  196. header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  197. header('Content-Disposition: attachment;filename="dataSiswa"'.date("d-F-Y").'".xlsx"');
  198. header('Cache-Control: max-age=0');
  199.  
  200. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
  201. $objWriter->save('php://output');
  202. exit;
  203.  
  204. // Save Excel 2007 file
  205. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
  206. $objWriter->save(str_replace('.php', '.xlsx', __FILE__));
  207.  
  208.        
  209.    
  210.    
  211.  
  212. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement