ExportXls.php 6.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. defined('BASEPATH') or exit('No direct script access allowed');
  3. /**
  4. *
  5. * Controller ExportXls
  6. *
  7. * This controller for ...
  8. *
  9. * @package CodeIgniter
  10. * @category Controller CI
  11. * @author Setiawan Jodi <jodisetiawan@fisip-untirta.ac.id>
  12. * @author Raul Guerrero <r.g.c@me.com>
  13. * @link https://github.com/setdjod/myci-extension/
  14. * @param ...
  15. * @return ...
  16. *
  17. */
  18. class ExportXls extends CI_Controller
  19. {
  20. public function __construct()
  21. {
  22. parent::__construct();
  23. $this->load->library('excel');
  24. $this->load->model("Xlsexport_model");
  25. }
  26. public function exportOpenPlacsp()
  27. {
  28. $objPHPExcel = new PHPExcel();
  29. // El libro activo el cual exportar sera el 0
  30. $objPHPExcel->setActiveSheetIndex(0);
  31. //Fila donde dibujar en el excel
  32. $rowCount = 1;
  33. $inventarioExport = $this->Xlsexport_model->getInventarioSinControladosUl($idInventario);
  34. foreach ($inventarioExport as $row) {
  35. //Escribimos las cabeceras de cada columna de la bbdd
  36. if ($rowCount == 1) {
  37. $this->cabecerasOpenPlacspFirstSheet($objPHPExcel);
  38. $concesionNombre = $row->concesionNombre;
  39. $codConc = $row->codConc;
  40. $rowCount++;
  41. }
  42. // Set cell An to the "name" column from the database (assuming you have a column called name)
  43. // where n is the Excel row number (ie cell A1 in the first row)
  44. $objPHPExcel->getActiveSheet()->SetCellValueExplicit('A' . $rowCount, $row->matricula);
  45. $objPHPExcel->getActiveSheet()->SetCellValueExplicit('B' . $rowCount, $row->codCliente10);
  46. $objPHPExcel->getActiveSheet()->SetCellValue('C' . $rowCount, $row->nombre_cliente);
  47. $objPHPExcel->getActiveSheet()->SetCellValue('D' . $rowCount, $row->direccion_del_cliente);
  48. $objPHPExcel->getActiveSheet()->SetCellValue('E' . $rowCount, $row->codigo_postal_del_cliente);
  49. $objPHPExcel->getActiveSheet()->SetCellValue('F' . $rowCount, $row->poblacion_del_cliente);
  50. $objPHPExcel->getActiveSheet()->SetCellValue('G' . $rowCount, $row->tipo_medio);
  51. $objPHPExcel->getActiveSheet()->SetCellValue('H' . $rowCount, $row->valor_alto);
  52. $objPHPExcel->getActiveSheet()->SetCellValue('I' . $rowCount, $row->valor_bajo);
  53. $objPHPExcel->getActiveSheet()->SetCellValue('J' . $rowCount, $row->ultimo_mov);
  54. $objPHPExcel->getActiveSheet()->SetCellValue('K' . $rowCount, $row->lectura_conc);
  55. $objPHPExcel->getActiveSheet()->SetCellValue('L' . $rowCount, $row->control_alm_com);
  56. $objPHPExcel->getActiveSheet()->SetCellValue('M' . $rowCount, $row->fecha_control);
  57. $objPHPExcel->getActiveSheet()->SetCellValue('N' . $rowCount, $row->estado_con);
  58. $objPHPExcel->getActiveSheet()->SetCellValue('O' . $rowCount, $row->estado_ul);
  59. $objPHPExcel->getActiveSheet()->SetCellValue('P' . $rowCount, $row->fecha_historico);
  60. $objPHPExcel->getActiveSheet()->SetCellValue('Q' . $rowCount, $row->usuario_cambio);
  61. // Increment the Excel row counter
  62. $rowCount++;
  63. }
  64. $nombreAchivo = $codConc . ' - ' . $concesionNombre . ' - ' . date("Y-m-d") . '.xlsx';
  65. $ruta = base_url() . 'uploads/inventarios/' . $nombreAchivo;
  66. // Write the Excel file to filename some_excel_file.xlsx in the current directory
  67. // Redirect output to a client’s web browser (Excel5)
  68. header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  69. header('Content-Disposition: attachment;filename=' . $nombreAchivo . '');
  70. header('Pragma: cache');
  71. header('Cache-Control: private');
  72. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
  73. $objWriter->save(FCPATH . 'uploads/inventarios/' . $nombreAchivo);
  74. $this->output
  75. ->set_content_type('application/json')
  76. ->set_output(json_encode(array("url" => $ruta)));
  77. }
  78. private function cabecerasOpenPlacspFirstSheet($objPHPExcel)
  79. {
  80. $objPHPExcel->getActiveSheet()->SetCellValue('A1', "Identificador");
  81. $objPHPExcel->getActiveSheet()->SetCellValue('B1', "Link licitación");
  82. $objPHPExcel->getActiveSheet()->SetCellValue('C1', "Fecha actualización");
  83. $objPHPExcel->getActiveSheet()->SetCellValue('D1', "Vigente/Anulada/Archivada");
  84. $objPHPExcel->getActiveSheet()->SetCellValue('E1', "Primera publicación");
  85. $objPHPExcel->getActiveSheet()->SetCellValue('F1', "Estado");
  86. $objPHPExcel->getActiveSheet()->SetCellValue('G1', "Número de expediente");
  87. $objPHPExcel->getActiveSheet()->SetCellValue('H1', "Objeto del Contrato");
  88. $objPHPExcel->getActiveSheet()->SetCellValue('I1', "Valor estimado del contrato");
  89. $objPHPExcel->getActiveSheet()->SetCellValue('J1', "Presupuesto base sin impuestos");
  90. $objPHPExcel->getActiveSheet()->SetCellValue('K1', "Presupuesto base con impuestos");
  91. $objPHPExcel->getActiveSheet()->SetCellValue('L1', "CPV");
  92. $objPHPExcel->getActiveSheet()->SetCellValue('M1', "Tipo de contrato");
  93. $objPHPExcel->getActiveSheet()->SetCellValue('N1', "Lugar de ejecución");
  94. $objPHPExcel->getActiveSheet()->SetCellValue('O1', "Órgano de Contratación");
  95. $objPHPExcel->getActiveSheet()->SetCellValue('P1', "ID OC en PLACSP");
  96. $objPHPExcel->getActiveSheet()->SetCellValue('Q1', "NIF OC");
  97. $objPHPExcel->getActiveSheet()->SetCellValue('R1', "DIR3");
  98. $objPHPExcel->getActiveSheet()->SetCellValue('S1', "Enlace al Perfil de Contratante del OC");
  99. $objPHPExcel->getActiveSheet()->SetCellValue('T1', "Tipo de Administración");
  100. $objPHPExcel->getActiveSheet()->SetCellValue('U1', "Código Postal");
  101. $objPHPExcel->getActiveSheet()->SetCellValue('V1', "Tipo de procedimiento");
  102. $objPHPExcel->getActiveSheet()->SetCellValue('W1', "Sistema de contratación");
  103. $objPHPExcel->getActiveSheet()->SetCellValue('X1', "Tramitación");
  104. $objPHPExcel->getActiveSheet()->SetCellValue('Y1', "Forma de presentación de la oferta");
  105. $objPHPExcel->getActiveSheet()->SetCellValue('Z1', "Directiva de aplicación");
  106. $objPHPExcel->getActiveSheet()->SetCellValue('AA1', "Subcontratación permitida");
  107. $objPHPExcel->getActiveSheet()->SetCellValue('AB1', "Subcontratación permitida porcentaje");
  108. return $objPHPExcel;
  109. }
  110. }
  111. /* End of file ExportXls.php */
  112. /* Location: ./application/controllers/ExportXls.php */