static function ArrayToExcel($array) { require_once "php_writeexcel-0.3.0/class.writeexcel_workbook.inc.php"; require_once "php_writeexcel-0.3.0/class.writeexcel_worksheet.inc.php"; $workbook = new writeexcel_workbook("/tmp/test.xls"); $worksheet = $workbook->addworksheet($worksheetname); $heading = $workbook->addformat(array('align' => 'center', 'bold' => 1, 'bg_color' => 'black', 'color' => 'white')); // heading $i = 0; $h = array(); foreach (array_keys($array[0]) as $val) { $worksheet->write(0, $i++, $val, $heading); array_push($h, $val); } // values for ($i = 0; $i < count($array); $i++) { for ($j = 0; $j < count($h); $j++) { $worksheet->write($i + 1, $j, $array[$i][$h[$j]]); } } $workbook->close(); header("Content-type: application/zip"); header("Content-disposition: inline; filename=excel.xls"); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header("Pragma: public"); echo file_get_contents("/tmp/test.xls"); unlink("/tmp/test.xls"); die; }
function print_bud($id_bibli = 0, $id_bud = 0) { global $dbh, $msg, $charset; global $pmb_gestion_devise; global $acquisition_gestion_tva; global $base_path, $class_path; global $line; if (!$id_bibli || !$id_bud) { return; } //Export excel $fname = str_replace(" ", "", microtime()); $fname = str_replace("0.", "", $base_path . "/temp/" . $fname); require_once "{$class_path}/writeexcel/class.writeexcel_workbook.inc.php"; require_once "{$class_path}/writeexcel/class.writeexcel_worksheet.inc.php"; $workbook = new writeexcel_workbook($fname); $worksheet = $workbook->addworksheet(); $bold = $workbook->addformat(array(bold => 1)); //Recuperation budget $bud = new budgets($id_bud); $lib_bud = $bud->libelle; $mnt_bud = $bud->montant_global; $devise = $pmb_gestion_devise; switch ($acquisition_gestion_tva) { case '0': case '2': $htttc = $msg['acquisition_ttc']; $k_htttc = 'ttc'; $k_htttc_autre = 'ht'; break; default: $htttc = $msg['acquisition_ht']; $k_htttc = 'ht'; $k_htttc_autre = 'ttc'; break; } if (!$bud->type_budget) { $typ_bud = $msg['acquisition_budg_aff_rub']; } else { $typ_bud = $msg['acquisition_budg_aff_glo']; } //montant total pour budget par rubriques if ($bud->type_budget == TYP_BUD_GLO) { $mnt['tot'][$k_htttc] = $bud->montant_global; $totaux = array('tot' => $mnt['tot'][$k_htttc], 'ava' => 0, 'eng' => 0, 'fac' => 0, 'pay' => 0, 'sol' => 0); $totaux_autre = array('tot' => 0, 'ava' => 0, 'eng' => 0, 'fac' => 0, 'pay' => 0, 'sol' => 0); } else { $totaux = array('tot' => 0, 'ava' => 0, 'eng' => 0, 'fac' => 0, 'pay' => 0, 'sol' => 0); $totaux_autre = array('tot' => 0, 'ava' => 0, 'eng' => 0, 'fac' => 0, 'pay' => 0, 'sol' => 0); } switch ($bud->statut) { case STA_BUD_VAL: $sta_bud = $msg['acquisition_statut_actif']; break; case STA_BUD_CLO: $sta_bud = $msg['acquisition_statut_clot']; break; case STA_BUD_PRE: default: $sta_bud = $msg['acquisition_budg_pre']; break; } $seu_bud = $bud->seuil_alerte; //Recuperation exercice $exer = new exercices($bud->num_exercice); $lib_exer = $exer->libelle; $lib_mnt_bud = number_format($mnt_bud, '2', '.', ''); $worksheet->write($line, 0, $msg['acquisition_bud'], $bold); $worksheet->write($line, 1, $lib_bud); $worksheet->write($line, 2, $msg['acquisition_budg_montant'], $bold); //problème du symbole euro à faire passer en encodage iso... $worksheet->write($line, 3, $lib_mnt_bud . " " . ($charset == "utf-8" ? html_entity_decode(stripslashes($devise)) : mb_convert_encoding(html_entity_decode(stripslashes($devise)), "windows-1252", "utf-8")) . " " . $htttc); $line++; $worksheet->write($line, 0, $msg['acquisition_budg_exer'], $bold); $worksheet->write($line, 1, $lib_exer); $worksheet->write($line, 2, $msg['acquisition_budg_aff_lib'], $bold); $worksheet->write($line, 3, $typ_bud); $line++; $worksheet->write($line, 0, $msg['acquisition_statut'], $bold); $worksheet->write($line, 1, $sta_bud); $worksheet->write($line, 2, $msg['acquisition_budg_seuil'], $bold); $worksheet->write($line, 3, $seu_bud . " %"); $line += 2; if ($acquisition_gestion_tva == 1) { $worksheet->write($line, 0, $msg['acquisition_rub'], $bold); $worksheet->write($line, 1, $msg['acquisition_rub_mnt_tot'], $bold); $worksheet->write($line, 2, $msg['acquisition_rub_mnt_ava_ht'], $bold); $worksheet->write($line, 3, $msg['acquisition_rub_mnt_eng_ht'], $bold); $worksheet->write($line, 4, $msg['acquisition_rub_mnt_fac_ht'], $bold); $worksheet->write($line, 5, $msg['acquisition_rub_mnt_pay_ht'], $bold); $worksheet->write($line, 6, $msg['acquisition_rub_mnt_sol'], $bold); } elseif ($acquisition_gestion_tva == 2) { $worksheet->write($line, 0, $msg['acquisition_rub'], $bold); $worksheet->write($line, 1, $msg['acquisition_rub_mnt_tot'], $bold); $worksheet->write($line, 2, $msg['acquisition_rub_mnt_ava_ttc'], $bold); $worksheet->write($line, 3, $msg['acquisition_rub_mnt_eng_ttc'], $bold); $worksheet->write($line, 4, $msg['acquisition_rub_mnt_fac_ttc'], $bold); $worksheet->write($line, 5, $msg['acquisition_rub_mnt_pay_ttc'], $bold); $worksheet->write($line, 6, $msg['acquisition_rub_mnt_sol'], $bold); } else { $worksheet->write($line, 0, $msg['acquisition_rub'], $bold); $worksheet->write($line, 1, $msg['acquisition_rub_mnt_tot'], $bold); $worksheet->write($line, 2, $msg['acquisition_rub_mnt_ava'], $bold); $worksheet->write($line, 3, $msg['acquisition_rub_mnt_eng'], $bold); $worksheet->write($line, 4, $msg['acquisition_rub_mnt_fac'], $bold); $worksheet->write($line, 5, $msg['acquisition_rub_mnt_pay'], $bold); $worksheet->write($line, 6, $msg['acquisition_rub_mnt_sol'], $bold); } $q = budgets::listRubriques($id_bud, 0); $list_n1 = pmb_mysql_query($q, $dbh); while ($row = pmb_mysql_fetch_object($list_n1)) { //montant total pour budget par rubriques $mnt['tot'][$k_htttc] = $row->montant; //montant a valider $mnt['ava'] = rubriques::calcAValider($row->id_rubrique); //montant engage $mnt['eng'] = rubriques::calcEngage($row->id_rubrique); //montant facture $mnt['fac'] = rubriques::calcFacture($row->id_rubrique); //montant paye $mnt['pay'] = rubriques::calcPaye($row->id_rubrique); //solde $mnt['sol'][$k_htttc] = $mnt['tot'][$k_htttc] - $mnt['eng'][$k_htttc]; foreach ($totaux as $k => $v) { $totaux[$k] = $v + $mnt[$k][$k_htttc]; } foreach ($totaux_autre as $k => $v) { $totaux_autre[$k] = $v + $mnt[$k][$k_htttc_autre]; } $lib_mnt = array(); foreach ($mnt as $k => $v) { $lib_mnt[$k] = number_format($mnt[$k][$k_htttc], 2, '.', ''); if ($acquisition_gestion_tva && $k != "tot" && $k != "sol") { $lib_mnt_autre[$k] = number_format($mnt[$k][$k_htttc_autre], 2, '.', ''); } } if ($bud->type_budget == TYP_BUD_GLO) { $lib_mnt['tot'] = ''; $lib_mnt['sol'] = ''; } $line++; $worksheet->write($line, 0, $row->libelle); $worksheet->write($line, 1, $lib_mnt["tot"]); $worksheet->write($line, 2, $lib_mnt["ava"]); $worksheet->write($line, 3, $lib_mnt["eng"]); $worksheet->write($line, 4, $lib_mnt["fac"]); $worksheet->write($line, 5, $lib_mnt["pay"]); $worksheet->write($line, 6, $lib_mnt["sol"]); if ($acquisition_gestion_tva) { $line++; if ($lib_mnt_autre["tot"]) { $worksheet->write($line, 1, $lib_mnt_autre["tot"]); } if ($lib_mnt_autre["ava"]) { $worksheet->write($line, 2, $lib_mnt_autre["ava"]); } if ($lib_mnt_autre["eng"]) { $worksheet->write($line, 3, $lib_mnt_autre["eng"]); } if ($lib_mnt_autre["fac"]) { $worksheet->write($line, 4, $lib_mnt_autre["fac"]); } if ($lib_mnt_autre["pay"]) { $worksheet->write($line, 5, $lib_mnt_autre["pay"]); } if ($lib_mnt_autre["sol"]) { $worksheet->write($line, 6, $lib_mnt_autre["sol"]); } } //Sous-rubriques $nb_sr = rubriques::countChilds($row->id_rubrique); if ($nb_sr) { printSousRubriques($bud, $row->id_rubrique, $worksheet, 1); } } //recuperation de la liste complete des rubriques if ($bud->type_budget == TYP_BUD_GLO) { $totaux['tot'] = $bud->montant_global; $totaux['sol'] = $totaux['tot'] - $totaux['eng']; } foreach ($totaux as $k => $v) { if (is_numeric($v)) { $totaux[$k] = number_format($v, 2, '.', ''); } else { $totaux[$k] = ' '; } } foreach ($totaux_autre as $k => $v) { if (is_numeric($v) && $k != 'tot' && $k != 'sol') { $totaux_autre[$k] = number_format($v, 2, '.', ''); } else { $totaux_autre[$k] = ' '; } } $line += 2; $worksheet->write($line, 0, $msg["acquisition_budg_montant"], $bold); $worksheet->write($line, 1, $totaux["tot"], $bold); $worksheet->write($line, 2, $totaux["ava"], $bold); $worksheet->write($line, 3, $totaux["eng"], $bold); $worksheet->write($line, 4, $totaux["fac"], $bold); $worksheet->write($line, 5, $totaux["pay"], $bold); $worksheet->write($line, 6, $totaux["sol"], $bold); if ($acquisition_gestion_tva) { $line++; $worksheet->write($line, 1, $totaux_autre["tot"], $bold); $worksheet->write($line, 2, $totaux_autre["ava"], $bold); $worksheet->write($line, 3, $totaux_autre["eng"], $bold); $worksheet->write($line, 4, $totaux_autre["fac"], $bold); $worksheet->write($line, 5, $totaux_autre["pay"], $bold); $worksheet->write($line, 6, $totaux_autre["sol"], $bold); } //Final $workbook->close(); header("Content-Type: application/x-msexcel; name=\"budget.xls\""); header("Content-Disposition: inline; filename=\"budget.xls\""); $fh = fopen($fname, "rb"); fpassthru($fh); unlink($fname); die; }
if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) { die("no access"); } //Récupération des variables postées, on en aura besoin pour les liens $page = $_SERVER[SCRIPT_NAME]; if ($dest == "TABLEAU") { //Export excel $fname = str_replace(" ", "", microtime()); $fname = str_replace("0.", "", $base_path . "/temp/" . $fname); require_once "{$class_path}/writeexcel/class.writeexcel_workbook.inc.php"; require_once "{$class_path}/writeexcel/class.writeexcel_worksheet.inc.php"; $workbook = new writeexcel_workbook($fname); $worksheet = $workbook->addworksheet(); //formats $workbook->set_custom_color(12, 00, 204, 255); $heading_blue = $workbook->addformat(array('fg_color' => 12)); $heading_10 = $workbook->addformat(array('bold' => 1, 'size' => 10)); $heading_12 = $workbook->addformat(array('bold' => 1, 'size' => 12)); } else { echo "<form action='empr.php' method='post' name='FormEmpr'>"; echo "<input name='lvl' value='all' type='hidden'>"; echo "<input name='prolonge_id' value='0' type='hidden'>"; // Si click bouton de prolongation, et prolongation autorisée if ($prolonge_id > 0 && $opac_pret_prolongation == 1) { //Il faut prolonger un livre $prolongation = TRUE; //on recupere les informations du pret $query = "select cpt_prolongation, pret_date, pret_retour, expl_location from pret, exemplaires"; $query .= " where pret_idexpl=expl_id"; $query .= " and pret_idexpl=" . $prolonge_id . " limit 1"; $result = pmb_mysql_query($query, $dbh);
/** * Export to Excel * * @param \Sng\Recordsmanager\Utility\Query $query */ public function exportToEXCEL(\Sng\Recordsmanager\Utility\Query $query) { $rows = array_merge(array($query->getHeaders()), $query->getRows()); $dirName = PATH_site . 'typo3temp/'; $filename = 'TYPO3_' . $query->getFrom() . '_export_' . date('dmy-Hi') . '.xls'; require_once PATH_site . "typo3conf/ext/recordsmanager/Resources/Private/Php/php_writeexcel-0.3.0/class.writeexcel_workbook.inc.php"; require_once PATH_site . "typo3conf/ext/recordsmanager/Resources/Private/Php/php_writeexcel-0.3.0/class.writeexcel_worksheet.inc.php"; $fname = $dirName . $filename; $workbook = new \writeexcel_workbook($fname); $worksheet = $workbook->addworksheet(); $header = $workbook->addformat(); $header->set_bold(); $header->set_size(12); $line = 0; foreach ($rows as $row) { $col = 0; foreach ($row as $field => $value) { $value = self::cleanString($value); if ($line == 0) { $worksheet->write($line, $col++, $value, $header); } else { if (is_numeric($value)) { $value = $value . " "; } $worksheet->write($line, $col++, $value); } } $line++; } $workbook->close(); header("Content-Type: application/x-msexcel; name=\"" . $filename . "\""); header("Content-Disposition: inline; filename=\"" . $filename . "\""); $fh = fopen($fname, "rb"); fpassthru($fh); unlink($fname); exit; }
function writeReportToExcelFile($fileName, $filterlist = false) { global $currentModule, $current_language; $mod_strings = return_module_language($current_language, $currentModule); require_once "include/php_writeexcel/class.writeexcel_workbook.inc.php"; require_once "include/php_writeexcel/class.writeexcel_worksheet.inc.php"; $workbook = new writeexcel_workbook($fileName); $worksheet =& $workbook->addworksheet(); # Set the column width for columns 1, 2, 3 and 4 $worksheet->set_column(0, 3, 25); # Create a format for the column headings $header =& $workbook->addformat(); $header->set_bold(); $header->set_size(12); $header->set_color('blue'); $arr_val = $this->GenerateReport("PDF", $filterlist); $totalxls = $this->GenerateReport("TOTALXLS", $filterlist); if (isset($arr_val)) { foreach ($arr_val[0] as $key => $value) { $worksheet->write(0, $count, utf8_decode($key), $header); $count = $count + 1; } $rowcount = 1; foreach ($arr_val as $key => $array_value) { $dcount = 0; foreach ($array_value as $hdr => $value) { //$worksheet->write($key+1, $dcount, iconv("UTF-8", "ISO-8859-1", $value)); $value = decode_html($value); $worksheet->write($key + 1, $dcount, iconv("UTF-8", "Windows-1252", $value)); $dcount = $dcount + 1; } $rowcount++; } $rowcount++; $count = 0; if (is_array($totalxls[0])) { foreach ($totalxls[0] as $key => $value) { $chdr = substr($key, -3, 3); $translated_str = in_array($chdr, array_keys($mod_strings)) ? $mod_strings[$chdr] : $key; $worksheet->write($rowcount, $count, utf8_decode($translated_str)); $count = $count + 1; } } $rowcount++; foreach ($totalxls as $key => $array_value) { $dcount = 0; foreach ($array_value as $hdr => $value) { //$worksheet->write($key+1, $dcount, iconv("UTF-8", "ISO-8859-1", $value)); //if ($dcount==1) // $worksheet->write($key+$rowcount, 0, utf8_decode(substr($hdr,0,strlen($hdr)-4))); $value = decode_html($value); $worksheet->write($key + $rowcount, $dcount, iconv("UTF-8", "Windows-1252", $value)); $dcount = $dcount + 1; } } } $workbook->close(); }
function dump_ldap($mode = 0) { global $config; $ldap = $config->get_ldap_link(); $display = ""; if ($mode == 2) { // Single Entry Export ! /* Get required attributes */ $d = base64_decode($_GET['d']); $n = base64_decode($_GET['n']); /* Create dn to search entries in */ $dn = $d . $n; /* Create some strings */ $date = date('dS \\of F Y '); $fname = tempnam("/tmp", "demo.xls"); /* Create xls workbench */ $workbook = new writeexcel_workbook($fname); /* Create some styles to generate xls */ $title_title = $workbook->addformat(array(bold => 1, color => 'green', size => 11, underline => 2, font => 'Helvetica')); $title_bold = $workbook->addformat(array(bold => 1, color => 'black', size => 10, font => 'Helvetica')); # Create a format for the phone numbers $f_phone = $workbook->addformat(); $f_phone->set_align('left'); $f_phone->set_num_format('\\0#'); /* If the switch reaches default (it should not), this will be set to false, so nothig will be created ... */ $save = true; /* Check which type of data was requested */ switch ($d) { /* PEOPLE Get all peoples from this $dn and put them into the xls work sheet */ case get_people_ou(): $user = $ldap->gen_xls($dn, "(objectClass=*)", array("uid", "dateOfBirth", "gender", "givenName", "preferredLanguage")); $intitul = array(_("Birthday") . ":", _("Sex") . ":", _("Surname") . "/" . _("Given name") . ":", _("Language") . ":"); // name of the xls file $name_section = _("Users"); $worksheet = $workbook->addworksheet(_("Users")); $worksheet->set_column('A:B', 51); $user_nbr = count($user); $worksheet->write('A1', sprintf(_("User list of %s on %s"), $n, $date), $title_title); $r = 3; for ($i = 1; $i < $user_nbr; $i++) { if ($i > 1) { $worksheet->write('A' . $r++, ""); } $worksheet->write('A' . $r++, _("User ID") . ": " . $user[$i][0], $title_bold); for ($j = 1; $j < 5; $j++) { $r++; $worksheet->write('A' . $r, $intitul[$j - 1]); $user[$i][$j] = utf8_decode($user[$i][$j]); $worksheet->write('B' . $r, $user[$i][$j]); } $worksheet->write('A' . $r++, ""); } break; /* GROUPS Get all groups from th $dn and put them into the xls work sheet */ /* GROUPS Get all groups from th $dn and put them into the xls work sheet */ case get_groups_ou(): /* Get group data */ $groups = $ldap->gen_xls($dn, "(objectClass=*)", array("cn", "memberUid"), TRUE, 1); $intitul = array(_("Members") . ":"); //name of the xls file $name_section = _("Groups"); $worksheet = $workbook->addworksheet(_("Groups")); $worksheet->set_column('A:B', 51); //count number of groups $groups_nbr = count($groups); $worksheet->write('A1', sprintf(_("Groups of %s on %s"), $n, $date), $title_title); $r = 3; for ($i = 1; $i < $groups_nbr; $i++) { $worksheet->write('A' . $r++, _("User ID") . ": " . $groups[$i][0][0], $title_bold); for ($j = 1; $j <= 2; $j++) { $r++; $worksheet->write('A' . $r, $intitul[$j - 1]); for ($k = 0; $k <= $groups[$i][$j]['count']; $k++) { $worksheet->write('B' . $r, $groups[$i][$j][$k]); $r++; } } } break; /* SYSTEMS Get all systems from th $dn and put them into the xls work sheet */ /* SYSTEMS Get all systems from th $dn and put them into the xls work sheet */ case get_ou("systemManagement", "systemRDN"): $name_section = _("Servers"); $computers = $ldap->gen_xls($dn, "(&(objectClass=*)(cn=*))", array("cn", "description", "uid")); $intitul = array(_("Description") . ":", _("User ID") . ":"); $worksheet = $workbook->addworksheet(_("Computers")); $worksheet->set_column('A:B', 32); //count number of computers $computers_nbr = count($computers); $r = 1; for ($i = 1; $i < $computers_nbr; $i++) { if ($i > 1) { $worksheet->write('A' . $r++, ""); } $worksheet->write('A' . $r++, _("Common name") . ": " . $computers[$i][0], $title_bold); for ($j = 1; $j < 3; $j++) { $r++; $worksheet->write('A' . $r, $intitul[$j - 1]); $computers[$i][$j] = utf8_decode($computers[$i][$j]); $worksheet->write('B' . $r, $computers[$i][$j]); } $worksheet->write('A' . $r++, ""); } break; /* SYSTEMS Get all systems from th $dn and put them into the xls work sheet */ /* SYSTEMS Get all systems from th $dn and put them into the xls work sheet */ case get_ou("servgeneric", "serverRDN"): $servers = $ldap->gen_xls($dn, "(objectClass=*)", array("cn")); $intitul = array(_("Server name") . ":"); //name of the xls file $name_section = _("Servers"); $worksheet = $workbook->addworksheet(_("Servers")); $worksheet->set_column('A:B', 51); //count number of servers $servers_nbr = count($servers); $worksheet->write('A1', sprintf(_("Servers of %s on %s"), $n, $date), $title_title); $r = 3; $worksheet->write('A' . $r++, _("Servers") . ": ", $title_bold); for ($i = 1; $i < $servers_nbr; $i++) { for ($j = 0; $j < 1; $j++) { $r++; $worksheet->write('A' . $r, $intitul[$j]); $servers[$i][$j] = utf8_decode($servers[$i][$j]); $worksheet->write('B' . $r, $servers[$i][$j]); } } break; case "dc=addressbook,": //data about addressbook /* ADDRESSBOOK Get all addressbook entries from $dn and put them into the xls work sheet */ $address = $ldap->gen_xls($dn, "(objectClass=*)", array("cn", "displayName", "facsimileTelephoneNumber", "givenName", "homePhone", "homePostalAddress", "initials", "l", "mail", "mobile", "o", "ou", "pager", "telephoneNumber", "postalAddress", "postalCode", "sn", "st", "title")); $intitul = array(_("Common name") . ":", _("Display name") . ":", _("Fax") . ":", _("Name") . "/" . _("Given name") . ":", _("Home phone") . ":", _("Home postal address") . ":", _("Initials") . ":", _("Location") . ":", _("Mail address") . ":", _("Mobile phone") . ":", _("City") . ":", _("Postal address") . ":", _("Pager") . ":", _("Phone number") . ":", _("Address") . ":", _("Postal code") . ":", _("Surname") . ":", _("State") . ":", _("Function") . ":"); //name of the xls file $name_section = _("Address book"); $worksheet = $workbook->addworksheet(_("Servers")); $worksheet->set_column('A:B', 51); //count number of entries $address_nbr = count($address); $worksheet->write('A1', sprintf(_("Address book of %s on %s"), $n, $date), $title_title); $r = 3; for ($i = 1; $i < $address_nbr; $i++) { if ($i > 1) { $worksheet->write('A' . $r++, ""); } $worksheet->write('A' . $r++, _("Common Name") . ": " . $address[$i][0], $title_bold); for ($j = 1; $j < 19; $j++) { $r++; $worksheet->write('A' . $r, $intitul[$j]); $address[$i][$j] = utf8_decode($address[$i][$j]); $worksheet->write('B' . $r, $address[$i][$j], $f_phone); } $worksheet->write('A' . $r++, ""); } break; default: $save = false; echo "Specified parameter '" . $d . "' was not found in switch-case."; } if ($save) { $workbook->close(); } // We'll be outputting a xls header('Content-type: application/x-msexcel'); // It will be called demo.xls header('Content-Disposition: attachment; filename=xls_export_' . $name_section . ".xls"); // The source is in original.xls readfile($fname); unlink($fname); } elseif ($mode == 3) { // Full Export ! $dn = base64_decode($_GET['dn']); //data about users $user = $ldap->gen_xls(get_people_ou() . $dn, "(objectClass=*)", array("uid", "dateOfBirth", "gender", "givenName", "preferredLanguage")); $user_intitul = array(_("Day of birth") . ":", _("Sex") . ":", _("Surname") . "/" . _("Given name") . ":", _("Language") . ":"); //data about groups $groups = $ldap->gen_xls(get_groups_ou() . $dn, "(objectClass=*)", array("cn", "memberUid"), TRUE, 1); $groups_intitul = array(_("Members") . ":"); //data about computers $computers = $ldap->gen_xls("ou=computers," . $dn, "(objectClass=*)", array("cn", "description", "uid")); $computers_intitul = array(_("Description") . ":", _("UID") . ":"); //data about servers $servers = $ldap->gen_xls(get_ou("servgeneric", "serverRDN") . $dn, "(objectClass=*)", array("cn")); $servers_intitul = array(_("Name") . ":"); //data about addressbook $address = $ldap->gen_xls("dc=addressbook," . $dn, "(objectClass=*)", array("cn", "displayName", "facsimileTelephoneNumber", "givenName", "homePhone", "homePostalAddress", "initials", "l", "mail", "mobile", "o", "ou", "pager", "telephoneNumber", "postalAddress", "postalCode", "sn", "st", "title")); $address_intitul = array("cn", _("Display name") . ":", _("Fax") . ":", _("Surname") . "/" . _("Given name") . ":", _("Phone number") . ":", _("Postal address") . ":", _("Initials") . ":", _("City") . ":", _("Email address") . ":", _("Mobile") . ":", _("Organization") . ":", _("Organizational unit") . ":", _("Pager") . ":", _("Phone number") . ":", _("Postal address") . ":", _("Postal Code") . ":", _("Surname") . ":", _("State") . ":", _("Title") . ":"); //name of the xls file $name_section = _("Full"); $date = date('dS \\of F Y '); $fname = tempnam("/tmp", "demo.xls"); $workbook = new writeexcel_workbook($fname); $worksheet = $workbook->addworksheet(_("Users")); $worksheet2 = $workbook->addworksheet(_("Groups")); $worksheet3 = $workbook->addworksheet(_("Servers")); $worksheet4 = $workbook->addworksheet(_("Computers")); $worksheet5 = $workbook->addworksheet(_("Address book")); $worksheet->set_column('A:B', 51); $worksheet2->set_column('A:B', 51); $worksheet3->set_column('A:B', 51); $worksheet4->set_column('A:B', 51); $worksheet5->set_column('A:B', 51); $title_title = $workbook->addformat(array(bold => 1, color => 'green', size => 11, font => 'Helvetica')); $title_bold = $workbook->addformat(array(bold => 1, color => 'black', size => 10, font => 'Helvetica')); # Create a format for the phone numbers $f_phone = $workbook->addformat(); $f_phone->set_align('left'); $f_phone->set_num_format('\\0#'); //count number of users $user_nbr = count($user); $worksheet->write('A1', sprintf(_("User list of %s on %s"), $dn, $date), $title_title); $r = 3; for ($i = 1; $i < $user_nbr; $i++) { if ($i > 1) { $worksheet->write('A' . $r++, ""); } $worksheet->write('A' . $r++, _("User ID") . ": " . $user[$i][0], $title_bold); for ($j = 1; $j < 5; $j++) { $r++; $worksheet->write('A' . $r, $user_intitul[$j - 1]); $user[$i][$j] = utf8_decode($user[$i][$j]); $worksheet->write('B' . $r, $user[$i][$j]); } $worksheet->write('A' . $r++, ""); } //count number of groups $groups_nbr = count($groups); $worksheet2->write('A1', sprintf(_("Groups of %s on %s"), $dn, $date), $title_title); $r = 3; for ($i = 1; $i < $groups_nbr; $i++) { $worksheet2->write('A' . $r++, _("User ID") . ": " . $groups[$i][0][0], $title_bold); for ($j = 1; $j <= 2; $j++) { $r++; $worksheet2->write('A' . $r, $group_intitul[$j - 1]); for ($k = 0; $k <= $groups[$i][$j]['count']; $k++) { $worksheet2->write('B' . $r, $groups[$i][$j][$k]); $r++; } } } //count number of servers $servers_nbr = count($servers); $worksheet3->write('A1', sprintf(_("Servers of %s on %s"), $dn, $date), $title_title); $r = 3; $worksheet3->write('A' . $r++, _("Servers") . ": ", $title_bold); for ($i = 1; $i < $servers_nbr; $i++) { for ($j = 0; $j < 1; $j++) { $r++; $worksheet3->write('A' . $r, $servers_intitul[$j]); $servers[$i][$j] = utf8_decode($servers[$i][$j]); $worksheet3->write('B' . $r, $servers[$i][$j]); } } //count number of computers $computers_nbr = count($computers); $worksheet4->write('A1', sprintf(_("Computers of %s on %s"), $dn, $date), $title_title); $r = 3; for ($i = 1; $i < $computers_nbr; $i++) { if ($i > 1) { $worksheet->write('A' . $r++, ""); } $worksheet4->write('A' . $r++, _("Common name") . ": " . $computers[$i][0], $title_bold); for ($j = 1; $j < 3; $j++) { $r++; $worksheet4->write('A' . $r, $computers_intitul[$j - 1]); $computers[$i][$j] = utf8_decode($computers[$i][$j]); $worksheet4->write('B' . $r, $computers[$i][$j]); } $worksheet4->write('A' . $r++, ""); } //count number of entries $address_nbr = count($address); $worksheet5->write('A1', sprintf(_("Address book of %s on %s"), $dn, $date), $title_title); $r = 3; for ($i = 1; $i < $address_nbr; $i++) { if ($i > 1) { $worksheet5->write('A' . $r++, ""); } $worksheet5->write('A' . $r++, _("Common name") . ": " . $address[$i][0], $title_bold); for ($j = 1; $j < 19; $j++) { $r++; $worksheet5->write('A' . $r, $address_intitul[$j]); $address[$i][$j] = utf8_decode($address[$i][$j]); $worksheet5->write('B' . $r, $address[$i][$j], $f_phone); } $worksheet5->write('A' . $r++, ""); } $workbook->close(); // We'll be outputting a xls header('Content-type: application/x-msexcel'); // It will be called demo.xls header('Content-Disposition: attachment; filename=' . $name_section . ".xls"); readfile($fname); unlink($fname); } elseif ($mode == 4) { // IVBB LDIF Export $dn = base64_decode($_GET['dn']); echo $display; } }
function excel_file_generator($headings, $data, $filename = 'Attendee List') { $this->epl->load_library("php_writeexcel-0.3.0/class.writeexcel_workbook.inc.php", false); $this->epl->load_library("php_writeexcel-0.3.0/class.writeexcel_worksheet.inc.php", false); $fname = tempnam(EPL_FULL_PATH, "tempexport"); $workbook = new writeexcel_workbook($fname); $worksheet = $workbook->addworksheet(); $heading = $workbook->addformat(array(bold => 1, color => 'black', size => 11, merge => 1, align => 'left', border_color => "black", top => 1, bottom => 1, left => 1, right => 1)); $heading->set_text_wrap(); //Column widths $worksheet->set_column('A:S', 14); //using this so the Nordic letters are encoded correctly //array_walk( $headings, create_function( '&$item', '$item = utf8_decode($item);' ) ); $worksheet->set_row(0, 30); $worksheet->write(0, 0, $headings, $heading); $heading = $workbook->addformat(array(bold => 0, color => 'blue', size => 11, align => 'left')); $format1 = $workbook->addformat(); $format1->set_color('black'); //$border1->set_bold(); $format1->set_size(11); $format1->set_pattern(0x1); $format1->set_fg_color('white'); $format1->set_border_color('black'); $format1->set_top(1); $format1->set_bottom(1); $format1->set_left(1); $format1->set_right(1); $format1->set_align('left'); $format1->set_align('vcenter'); $format1->set_text_wrap(); //TODO make this better, doing all this for the set_zize 8 $format2 = $workbook->addformat(); $format2->set_color('black'); $format2->set_size(8); $format2->set_pattern(0x1); $format2->set_fg_color('white'); $format2->set_border_color('black'); $format2->set_top(1); $format2->set_bottom(1); $format2->set_left(1); $format2->set_right(1); $format2->set_align('left'); $format2->set_align('vcenter'); $format2->set_text_wrap(); $data_row = 1; foreach ($data as $k => $v) { $worksheet->set_row($data_row, 53); $col = 0; foreach ($v as $_k => $_v) { $_format = $format1; if ($col == 2) { $_format = $format2; } if ($col == 1) { $_v = $_v . ' '; } $worksheet->write($data_row, $col, $_v, $_format); $col++; } $data_row++; } $worksheet->print_area(0, 0, --$data_row, --$col); $worksheet->set_zoom(85); $worksheet->fit_to_pages(1, 1); $worksheet->set_margins_LR(0.64); $worksheet->set_margins_TB(0.5); $worksheet->set_landscape(); $workbook->close(); header("Content-Type: application/x-msexcel; name=\"attendee_list.xls\""); header("Content-Disposition: inline; filename=\"{$filename}.xls\""); $fh = fopen($fname, "rb"); fpassthru($fh); @unlink($fname); }
function ExcelGeneration() { $worksheet = ""; require_once 'excel.php'; require_once "php_writeexcel-0.3.0/class.writeexcel_workbook.inc.php"; require_once "php_writeexcel-0.3.0/class.writeexcel_worksheet.inc.php"; $workbook = new writeexcel_workbook(self::TempFolderAddress); $worksheet = & $workbook->addworksheet("Sheet1"); $heading = & $workbook->addformat(array('align' => 'center', 'bold' => 1, 'bg_color' => 'blue', 'color' => 'white')); if ($this->rowNumber) $worksheet->write(0, 0, "ردیف", $heading); for ($i = 0; $i < count($this->columns); $i++) { $worksheet->write(0, $i + ($this->rowNumber ? 1 : 0), $this->columns[$i]->header, $heading); if ($this->columns[$i]->HaveSum != -1) $this->EnableSumRow = true; } if (is_array($this->mysql_resource)) { for ($index = 0; $index < count($this->mysql_resource); $index++) { $row = $this->mysql_resource[$index]; if ($this->rowNumber) $worksheet->write($index + 1, 0, ($index + 1)); for ($i = 0; $i < count($this->columns); $i++) { $val = ""; if(!empty($this->columns[$i]->renderFunction)) eval("\$val = " . $this->columns[$i]->renderFunction . "(\$row,\$row[\$this->columns[\$i]->field]);"); else $val = $row[$this->columns[$i]->field]; $worksheet->write($index + 1, $i + ($this->rowNumber ? 1 : 0), $val); } } } else { $index = 0; while ($row = $this->mysql_resource->fetch()) { if ($this->rowNumber) $worksheet->write($index + 1, 0, ($index + 1)); for ($i = 0; $i < count($this->columns); $i++) { $val = ""; /* if(!empty($this->columns[$i]->renderFunction)) eval("\$val = " . $this->columns[$i]->renderFunction . "(\$row,\$row[\$this->columns[\$i]->field]);"); else */ $val = $row[$this->columns[$i]->field]; $worksheet->write($index + 1, $i + ($this->rowNumber ? 1 : 0), $val); } $index++; } } $workbook->close(); header("Content-type: application/ms-excel"); header("Content-disposition: inline; filename=excel.xls"); echo file_get_contents(self::TempFolderAddress); unlink(self::TempFolderAddress); die(); }
} $sql = "select count(*) as cnt from {$g5['sms5_book_table']} where 1 {$sql_bg} {$sql_hp} order by bk_name"; $total = sql_fetch($sql); if (!$total['cnt']) { alert_just('데이터가 없습니다.'); } $qry = sql_query("select * from {$g5['sms5_book_table']} where 1 {$sql_bg} {$sql_hp} order by bk_name"); /*================================================================================ php_writeexcel http://www.bettina-attack.de/jonny/view.php/projects/php_writeexcel/ =================================================================================*/ include_once G5_LIB_PATH . '/Excel/php_writeexcel/class.writeexcel_workbook.inc.php'; include_once G5_LIB_PATH . '/Excel/php_writeexcel/class.writeexcel_worksheet.inc.php'; $fname = tempnam(G5_DATA_PATH, "tmp.xls"); $workbook = new writeexcel_workbook($fname); $worksheet = $workbook->addworksheet(); $num2_format =& $workbook->addformat(array(num_format => '\\0#')); // Put Excel data $data = array('이름', '전화번호'); $data = array_map('iconv_euckr', $data); $col = 0; foreach ($data as $cell) { $worksheet->write(0, $col++, $cell); } for ($i = 1; $res = sql_fetch_array($qry); $i++) { $res = array_map('iconv_euckr', $res); $hp = get_hp($res['bk_hp'], $hyphen); if ($no_hp && $res['bk_hp'] != '' && !$hp) { continue; } $worksheet->write($i, 0, $res['bk_name']); $worksheet->write($i, 1, $hp, $num2_format);
# color palette. # # reverse('©'), March 2002, John McNamara, jmcnamara@cpan.org # PHP port by Johann Hanne, 2005-11-01 set_time_limit(10); require_once "class.writeexcel_workbook.inc.php"; require_once "class.writeexcel_worksheet.inc.php"; $fname = tempnam("/tmp", "colors.xls"); $workbook = new writeexcel_workbook($fname); # Some common formats $center =& $workbook->addformat(array('align' => 'center')); $heading =& $workbook->addformat(array('align' => 'center', 'bold' => 1)); # Try this to see the default Excel 5 palette # $workbook->set_palette_xl5(); ###################################################################### # # Demonstrate the named colors. # $colors = array( 'black'=>0x08, 'blue'=>0x0C, 'brown'=>0x10,