<commit_before># YunhoDBExport [![Build Status](https://travis-ci.org/juanlopezdev/YunhoDBExport.svg)](https://travis-ci.org/juanlopezdev/YunhoDBExport)

> Librería para exportar a MS Excel desde MySQL

## Uso

```php
<?php

// Requerir librería
require '../src/YunhoDBExport.php';

// Configuración de base de datos
$host = 'localhost';
$name = 'dbtest';
$user = 'usr';
$password = '<PASSWORD>';

// Asignar zona horaria por defecto
date_default_timezone_set('America/Lima');

// Inicializar librería
$export = new YunhoDBExport($host, $name, $user, $password);

// Conectarse a la base de datos MySQL
$export->connect();

// Mapeo de campos para cabecera
$fields = array(
  'id' => 'ID',
  'model_family' => array(
    'label' => 'Modelo de vehículo',
    'mask' => '<a href="https://www.google.com.pe/#safe=off&q=[value]" target="_blank">Ver Modelo</a>'
  ),
  'color' => 'Color',
  'all_quantity' => 'Cantidad Total',
  'current_quantity' => 'Cantidad actual'
);

// Consulta SQL
$export->query("
  SELECT
    id,
    model_family,
    color,
    COUNT(color) AS 'all_quantity',
    SUM(CASE WHEN state = 1 THEN 1 ELSE 0 END) AS 'current_quantity'
  FROM auto
  WHERE model_family = 'Sedan'
  GROUP BY color
  ORDER BY color
");

// Formato MS Excel
$export->to_excel();

// Construir tabla de datos
$export->build_table($fields);

// Descargar
$export->download();

// Control de errores
if ($dbhex = $export->get_error()) {
  die($dbhex->getMessage());
}

```

## Licencia
MIT<commit_msg>Ejemplo de uso en CodeIgniter 3<commit_after># YunhoDBExport [![Build Status](https://travis-ci.org/juanlopezdev/YunhoDBExport.svg)](https://travis-ci.org/juanlopezdev/YunhoDBExport)

> Librería para exportar a MS Excel desde MySQL

## Uso

```php
<?php

// Requerir librería
require '../src/YunhoDBExport.php';

// Configuración de base de datos
$host = 'localhost';
$name = 'dbtest';
$user = 'usr';
$password = '<PASSWORD>';

// Asignar zona horaria por defecto
date_default_timezone_set('America/Lima');

// Inicializar librería
$export = new YunhoDBExport($host, $name, $user, $password);

// Conectarse a la base de datos MySQL
$export->connect();

// Mapeo de campos para cabecera
$fields = array(
  'id' => 'ID',
  'model_family' => array(
    'label' => 'Modelo de vehículo',
    'mask' => '<a href="https://www.google.com.pe/#safe=off&q=[value]" target="_blank">Ver Modelo</a>'
  ),
  'color' => 'Color',
  'all_quantity' => 'Cantidad Total',
  'current_quantity' => 'Cantidad actual'
);

// Consulta SQL
$export->query("
  SELECT
    id,
    model_family,
    color,
    COUNT(color) AS 'all_quantity',
    SUM(CASE WHEN state = 1 THEN 1 ELSE 0 END) AS 'current_quantity'
  FROM auto
  WHERE model_family = 'Sedan'
  GROUP BY color
  ORDER BY color
");

// Formato MS Excel
$export->to_excel();

// Construir tabla de datos
$export->build_table($fields);

// Descargar
$export->download();

// Control de errores
if ($dbhex = $export->get_error()) {
  die($dbhex->getMessage());
}

```

### CodeIgniter 3
Ejemplo de uso en CodeIgniter 3

En controller:

```php

<?php
// Cargar la librería
$this->load->library('YunhoDBExport');

// Array de datos
$data = $this->user_model->find();

$fields = array(
  'firstname' => 'Nombres',
  'lastname' => 'Apellidos',
  'email' => 'Email',
  'dni' => 'DNI',
  'phone' => 'Teléfono',
  'sex' => 'Sexo',
  'address' => 'Dirección',
  'phone' => 'Phone',
  'province' => 'Provincia',
  'city' => 'Ciudad',
  'district' => 'Distrito',
  'registered' => 'Registrado'
);

$export = new YunhoDBExport();
$export->set_data($data);
$export->to_excel();
$export->build_table($fields);
$export->download('reporte');

```

## Licencia
MIT
{'fraction_non_alphanumeric': 0.18174386920980926, 'fraction_numerical': 0.002452316076294278, 'mean_word_length': 4.185028248587571, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 59, 'https://': 6, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5720454', 'n_tokens_mistral': 1428, 'n_tokens_neox': 1376, 'n_words': 326}