示例#1
2
    public function getReport($id_report)
    {
        $report = end($this->uri->segments);
        $this->setColNames($id_report);
        $this->params['id_report'] = $id_report;
        $this->params['sidx'] = $this->sortColNames;
        $this->params['colNames'] = $this->colNames;
        $this->params['colModels'] = $this->colModels;
        if ($report == 'prev') {
            $this->template->write_view('content', 'custom_report_query/custom_report_query_preview', $this->params, TRUE);
            $this->template->render();
            // render template
        } else {
            if ($report == 'excel') {
                $nColumn = $this->uri->segment(4);
                $segment = 5;
                $listfield = array();
                for ($i = 1; $i < $nColumn; $i++) {
                    $listfield[] = str_replace("%20", " ", $this->uri->segment($segment));
                    $segment++;
                }
                $sName = $this->uri->segment($segment);
                $segment++;
                $sOrder = $this->uri->segment($segment);
                $rows = $this->custom_report_query_model->get_datas($id_report);
                $result = $this->custom_report_query_model->get_report($id_report, $sName, $sOrder)->result_array();
                $oldIncludePath = get_include_path();
                set_include_path(APPPATH . 'libraries/PHPExcel');
                include_once 'PHPExcel.php';
                include_once 'PHPExcel/Writer/Excel2007.php';
                include_once 'PHPExcel/IOFactory.php';
                if ($report == 'excel') {
                    $ext = 'xls';
                    $header = 'vnd.ms-excel';
                    $obj = 'Excel5';
                    $render = false;
                } else {
                    $rendererName = PHPExcel_Settings::PDF_RENDERER_TCPDF;
                    $rendererLibrary = 'tcPDF5.9';
                    $rendererLibraryPath = APPPATH . 'libraries/tcpdf';
                    $ext = 'pdf';
                    $header = 'pdf';
                    $obj = 'PDF';
                    $render = true;
                }
                $objPHPExcel = new PHPExcel();
                $objPHPExcel->getProperties()->setTitle("title")->setDescription("description");
                // Assign cell values
                $objPHPExcel->setActiveSheetIndex(0);
                $sheet = $objPHPExcel->getActiveSheet();
                $sheet->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
                $styleArray = array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN)));
                $sheet->setShowGridlines(true);
                foreach ($rows as $row) {
                    $row1 = $row['report_name'];
                    $row2 = $row['req_by'];
                    $row3 = date('d-m-Y');
                }
                $sheet->getRowDimension('1')->setRowHeight(10);
                $sheet->setCellValue('A1', $row1);
                $sheet->setCellValue('A2', $row2);
                $sheet->setCellValue('A3', $row3);
                $char = 65;
                $i = 0;
                foreach ($listfield as $fields) {
                    $sheet->setCellValue(chr($char) . '5', $fields);
                    ${'length' . $i} = strlen($fields);
                    $char++;
                    $i++;
                }
                $char = 65;
                if ($report == 'excel') {
                    for ($j = 0; $j < $i; $j++) {
                        $sheet->getColumnDimension(chr($char))->setAutoSize(true);
                        $char++;
                    }
                }
                $counter = 6;
                foreach ($result as $row) {
                    $char = 65;
                    if ($counter == 6 && $report == 'pdf') {
                        $charX = $char;
                        for ($j = 0; $j < $i; $j++) {
                            if (${'length' . $j} > strlen($row[$listfield[$j]])) {
                                $sheet->getColumnDimension(chr($charX))->setWidth(${'length' . $j} + 4);
                            } else {
                                $sheet->getColumnDimension(chr($charX))->setWidth(30);
                            }
                            $charX++;
                        }
                    }
                    for ($j = 0; $j < $i; $j++) {
                        $sheet->setCellValue(chr($char) . $counter, $row[$listfield[$j]]);
                        $char++;
                    }
                    $counter++;
                }
                if ($render) {
                    if (!PHPExcel_Settings::setPdfRenderer($rendererName, $rendererLibraryPath)) {
                        die('NOTICE: Please set the $rendererName and $rendererLibraryPath values' . '<br />' . 'at the top of this script as appropriate for your directory structure');
                    }
                }
                $filename = $row1 . "-" . date('d/m/Y H:i:s') . '.' . $ext . "";
                // Redirect output to a client’s web browser
                header('Content-Type: application/' . $header);
                header('Content-Disposition: attachment;filename="' . $filename . '"');
                header('Cache-Control: max-age=0');
                // Save it as a file
                $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $obj);
                $objWriter->save('php://output');
                set_include_path($oldIncludePath);
            } else {
                if ($report == 'pdf') {
                    $this->load->library('fpdf');
                    $nColumn = $this->uri->segment(4);
                    $segment = 5;
                    $listfield = array();
                    for ($i = 1; $i < $nColumn; $i++) {
                        $listfield[] = str_replace("%20", " ", $this->uri->segment($segment));
                        $segment++;
                    }
                    $sName = $this->uri->segment($segment);
                    $segment++;
                    $sOrder = $this->uri->segment($segment);
                    $rows = $this->custom_report_query_model->get_datas($id_report);
                    $result = $this->custom_report_query_model->get_report($id_report, $sName, $sOrder)->result_array();
                    foreach ($rows as $row) {
                        $row1 = $row['report_name'];
                        $row2 = $row['req_by'];
                        $row3 = date('d-m-Y');
                    }
                    $html = '';
                    $html .= '<table>
						<tr>
							<td>Nama Laporan</td>
							<td>:</td>
							<td>' . $row1 . '</td>
						</tr>
						<tr>
							<td>Request By</td>
							<td>:</td>
							<td>' . $row2 . '</td>
						</tr>
						<tr>
							<td>Tanggal</td>
							<td>:</td>
							<td>' . $row3 . '</td>
						</tr>
						
					</table>';
                    $row1 . $row2 . $row3;
                    $html .= '<table border="1">
			<tr>';
                    $char = 65;
                    $i = 0;
                    foreach ($listfield as $fields) {
                        $html .= '<td><strong>' . $fields . '</strong></td>';
                        $char++;
                        $i++;
                    }
                    $html .= '</tr>';
                    foreach ($result as $row) {
                        $char = 65;
                        $html .= '<tr>';
                        for ($j = 0; $j < $i; $j++) {
                            $html .= '<td>' . $row[$listfield[$j]] . '</td>';
                            $char++;
                        }
                        $html .= '</tr>';
                    }
                    $html .= '
			</table>';
                    $filename = $row1 . "-" . date('d/m/Y H:i:s') . '.pdf';
                    ini_set('memory_limit', '-1');
                    require_once APPPATH . '/libraries/pdftable/pdftable.inc.php';
                    $p = new PDFTable();
                    $p->AddPage();
                    $p->setfont('times', '', 10);
                    $p->htmltable($html);
                    $p->output($filename, 'I');
                }
            }
        }
    }
//          http://www.gnu.org/copyleft/gpl.html                         //
//                                                                       //
///////////////////////////////////////////////////////////////////////////
require '../../../functions/globales.php';
require '../include/rutas.php';
require '../functions/main.php';
require '../struct/login2.php';
require '../functions/doc_functions.php';
if ($_POST['pdf']) {
    require FPDF_PDF_RUTA . 'lib/pdftable.inc.php';
    $p = new PDFTable('P');
    $p->SetMargins(3, 43, 0);
    $p->SetTitle(date("d-m-Y") . "_revision_direccion");
    $p->SetFillColor(255, 255, 255);
    $p->SetTextColor(0, 0, 0);
    $p->SetDrawColor(0, 0, 0);
    $doc_real = select_normal("Select * from kz_tec_doc_documentos_reales where id = " . $_POST['documento_real'] . "");
    $doc_real = $doc_real[0];
    $p->AddPage('P');
    $p->SetMargins(10, 10, 0);
    $p->setfont('Arial', 'B', 12);
    $color1 = 'A6A6A6';
    $color2 = 'FFFFFF';
    $tit = "bgcolor=#{$color1} color=#{$color2} align=center valign=middle style=bold height=8";
    $nor = "align=center height=5 valign=middle";
    $p->cell(0, 0, $doc_real['titulo'], 0, 0, 'C');
    $p->ln(15);
    $p->setfont('Arial', '', 10);
    $p->MultiCell(188, 5, $doc_real['contenido'], 0, 'J');
    $p->output();
}
示例#3
0
<?php

$table1 = "\r\n<table border=1 align=center>\r\n  <tr> \r\n    <td rowspan=2 valign=middle border=0>rowspan=2, valign=middle</td>\r\n    <td>Normal</td>\r\n    <td>Normal</td>\r\n    <td>Normal</td>\r\n    <td colspan=2 rowspan=2 valign=bottom bgcolor=#FF00FF>colspan=2<br>rowspan=2<br>valign=bottom</td>\r\n  </tr>\r\n  <tr> \r\n    <td height=15>Normal</td>\r\n    <td rowspan=2 align=right bgcolor=#aaaaaa border=0>rowspan=2</td>\r\n    <td border=0>border=0</td>\r\n  </tr>\r\n  <tr> \r\n    <td>Normal</td>\r\n    <td>Normal</td>\r\n    <td>Normal</td>\r\n    <td rowspan=3 valign=top bgcolor=#CC3366>rowspan=3</td>\r\n    <td>Normal</td>\r\n  </tr>\r\n  <tr bgcolor=#cccccc> \r\n    <td>Normal</td>\r\n    <td colspan=3 align=center>align center, colspan=3</td>\r\n    <td>Normal</td>\r\n  </tr>\r\n  <tr> \r\n    <td align=right valign=bottom>align=right<br>valign=bottom</td>\r\n    <td>Normal</td>\r\n    <td>&nbsp;</td>\r\n    <td>Normal</td>\r\n    <td height=20>height=20</td>\r\n  </tr>\r\n</table>\r\n";
define('FPDF_FONTPATH', 'font/');
require 'lib/pdftable.inc.php';
$p = new PDFTable();
$p->AddPage();
$p->setfont('times', '', 12);
$p->htmltable($table1);
$p->output('example.pdf', 'F');
示例#4
0
      <td border="0">border=0</td>
    </tr>
    <tr>
      <td>Normal</td>
      <td>Normal</td>
      <td>Normal</td>
      <td rowspan="3" valign="top" bgcolor="#CC3366">rowspan=3</td>
      <td>Normal</td>
    </tr>
    <tr bgcolor="#cccccc">
      <td>Normal</td>
      <td colspan="3" align="center">align center, colspan=3</td>
      <td>Normal</td>
    </tr>
    <tr>
      <td align="right" valign="bottom">align=right<br>valign=bottom</td>
      <td>Normal</td>
      <td>&nbsp;</td>
      <td>Normal</td>
      <td height="20">height=20</td>
    </tr>
  </table>
MYTABLE;
define('FPDF_FONTPATH', 'font/');
require 'lib/pdftable.inc.php';
$p = new PDFTable();
$p->AddPage();
$p->setfont('times', '', 12);
$p->htmltable($html);
$p->output('', 'I');