123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- namespace excel\controllers;
- use excel\web\Controller;
- use v1\models\Municipio;
- class MunicipioController extends Controller {
-
- public function actionIndex() {
- $query = Municipio::find()
- ->innerJoin('Estado', '{{Estado}}.id = {{Municipio}}.[[idEstado]]')
- ->andWhere(['{{Municipio}}.eliminado' => null])
- ->andWhere(['{{Estado}}.eliminado' => null])
- ->orderBy(['{{Estado}}.nombre' => SORT_ASC, '{{Municipio}}.nombre' => SORT_ASC])
- ->all();
-
- $renglones = [
- "A7" => [
- "valor" => "Estado",
- "estilo" => array_merge(self::$bordes, self::$estiloCeldaCentrada)
- ],
- "B7" => [
- "valor" => "Municipio",
- "estilo" => array_merge(self::$bordes, self::$estiloCeldaCentrada)
- ],
- "C7" => [
- "valor" => "Niveles",
- "estilo" => array_merge(self::$bordes, self::$estiloCeldaCentrada)
- ],
- ];
- $this->agregarRenglones($renglones);
- $this->renglonActual = 8;
- $renglonActual = $this->renglonActual;
- foreach($query as $municipio) {
- $niveles = [];
-
- if (count($municipio->niveles) > 0) {
- $niveles = $municipio->niveles;
- }
- $cantidadNiveles = count($niveles);
- $contadorNiveles = 0;
- $nivelesClaves = '';
- foreach ($niveles as $nivel) {
- $contadorNiveles++;
- $nivelesClaves .= $nivel['clave'];
- if ($contadorNiveles < $cantidadNiveles) {
- $nivelesClaves .= ', ';
- }
- }
- $this->agregarCelda("A{$renglonActual}", ["valor" => $municipio->estado->nombre]);
- $this->agregarCelda("B{$renglonActual}", ["valor" => $municipio->nombre]);
- $this->agregarCelda("C{$renglonActual}", ["valor" => $nivelesClaves]);
- $renglonActual++;
- }
- $columnas = [
- "A" => ["auto" => true],
- "B" => ["auto" => true],
- "C" => ["auto" => true],
- ];
- $this->anchoColumnas($columnas);
- $documento = $this->obtenerHojaDeCalculo();
- $fecha = (new \DateTime('now', new \DateTimeZone('America/Hermosillo')))
- ->format("d_m_Y-H_i_s");
- $nombreArchivo = "municipios_{$fecha}";
- $this->crear($documento, $nombreArchivo, $tipo = self::TIPO_EXCEL);
- \Yii::$app->end();
- }
- }
|