__wbook = new \Shuchkin\SimpleXLSXGen(); $this->__wbook ->setAuthor($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']) ->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']) ->setTitle($oprop['title'] ?? "") ->setSubject($oprop['subject'] ?? "") ->setDescription($oprop['desc'] ?? "") ->setCompany($_SESSION['__WEB_APP']['REG_NAME']); } public function clear_field() { $this->__atabel = []; } public function add_header($tjudul="") { if ($tjudul=="") return; $this->__aheader[] = $tjudul; } public function add_empty_row($nrow=1) { $_jkolom = count($this->__atabel); for ($i=0; $i<$nrow; $i++) { $this->__avalue[] = array_fill(0,$_jkolom,""); } } public function add_field($tnama="", $nlebar=0, $ffunc="") { $this->__atabel[] = [$tnama, $nlebar, $ffunc]; } public function add_sheet($tnama_sheet="BARU", $bw_header=true) { for ($i=0; $i__atabel); $i++) { $this->__wbook->setColWidth($this->__kolom, $this->__atabel[$i][1]); } $_jkolom = count($this->__atabel); if ($_jkolom>0) $_jkolom--; foreach ($this->__aheader as $_key => $_val) { $this->__avalue[] = array_merge(["".$_val.""],array_fill(1,$_jkolom,null)); } if ($bw_header==true) $this->show_headers(); } public function add_value() { $tmp_arr = func_get_args(); if (is_array($tmp_arr[0])) $tmp_arr = $tmp_arr[0]; $a_out = []; for ($i=0; $i__atabel); $i++) { $tmp_val = $tmp_arr[$i]; if (is_array($this->__atabel[$i][2]) && trim($tmp_val)<>"") { $tmp_val = $this->__atabel[$i][2][$tmp_val]; } else if (function_exists($this->__atabel[$i][2]) && trim($tmp_val)<>"") { $tmp_val = call_user_func($this->__atabel[$i][2], $tmp_val); } $a_out[] = $tmp_val; } $this->__avalue[] = $a_out; } public function add_stamp($ctk_ke=1, $bnama=false) { $this->__avalue[] = ["".$_SESSION['__WEB_APP']['APP_NAME']."v".$_SESSION['__WEB_APP']['APP_VER'].date("\@ymd.His")."-".user_id(3).(($bnama==true)?"/".strtoupper(user_user()):"").(($ctk_ke>0)?"#".isi_nol($ctk_ke,2):"").""]; } public function get_stamp($ctk_ke=1, $bnama=false) { return $_SESSION['__WEB_APP']['APP_NAME']."v".$_SESSION['__WEB_APP']['APP_VER'].date("\@ymd.His")."-".user_id(3).(($bnama==true)?"/".strtoupper(user_user()):"").(($ctk_ke>0)?"#".isi_nol($ctk_ke,2):""); } public function show_headers() { $a_out = []; for ($i=0; $i__atabel); $i++) { $a_out[] = ''; } $this->__avalue[] = $a_out; } public function send($tnama_file="File_Excel") { $this->__wbook->fromArray($this->__avalue)->downloadAs($tnama_file); } } ?>