<!DOCTYPE html>
<html>
<head>
  <title>Tipos de Informes</title>  
  <meta charset="UTF-8"> 
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css">
    <link rel="stylesheet" href="css/custom.css">        
        <script src="https://code.jquery.com/jquery-3.7.0.js"></script>
        
        
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.css" >
  
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.js"></script>
        <style>
            .scrollable {
                overflow-y: auto;
                height: 475px; 
            }
        </style>
</head>
<body>
  <div class="container-fluid">
      <div class="row flex-nowrap">
          <div class="col-auto col-md-3 col-xl-2 px-sm-2 px-0 bg-dark">
    <div class="d-flex flex-column align-items-center align-items-sm-start px-3 pt-2 text-white min-vh-100">
    <a href="index.php" style="text-decoration:none; color:white"><span class="fs-5 d-none d-sm-inline">Menu</span></a>
        <ul class="nav nav-pills flex-column mb-sm-auto mb-0 align-items-center align-items-sm-start" id="menu">
                <!--<ul class="collapse nav flex-column ms-1" id="submenu2" data-bs-parent="#menu">-->
                    <li class="w-100 li-menu1">
                        <a href="index_importar.php" class="nav-link px-0"> <span class="d-none d-sm-inline">Importar informes</span></a>
                    </li>
                    <li class="li-menu1">
                        <a href="index_status.php" class="nav-link px-0"> <span class="d-none d-sm-inline">Status imports</span></a>
                    </li>
                <!--
                <a href="#submenu2" data-bs-toggle="collapse" class="nav-link px-0 align-middle ">
                    <i class="fs-4 bi-table"></i> <span class="ms-1 d-none d-sm-inline">Adform </span>
                </a>
                <ul class=" nav flex-column ms-1" id="submenu2" data-bs-parent="#menu">
                    <li class="w-100 li-menu1">
                        <a href="#" class="nav-link px-0"> <span class="d-none d-sm-inline">Importar informes</span></a>
                    </li>
                    <li class="li-menu1">
                        <a href="#" class="nav-link px-0"> <span class="d-none d-sm-inline">Status imports</span></a>
                    </li>
                </ul>-->
        </ul>
        <hr>
        <div class="dropdown pb-4">
            <a href="#" class="d-flex align-items-center text-white text-decoration-none dropdown-toggle" id="dropdownUser1" data-bs-toggle="dropdown" aria-expanded="false">
                <span class="d-none d-sm-inline mx-1">Bienvenido, user2!</span>
            </a>
            <ul class="dropdown-menu dropdown-menu-dark text-small shadow" aria-labelledby="dropdownUser1">
                <!--<li><a class="dropdown-item" href="#">New project...</a></li>
                <li><a class="dropdown-item" href="#">Settings</a></li>
                <li><a class="dropdown-item" href="#">Profile</a></li>
                <li>
                    <hr class="dropdown-divider">
                </li>-->
                <li><a class="dropdown-item" href="logout.php">Sign out</a></li>
            </ul>
        </div>
    </div>
</div>          <div class="col py-3">
              <h3>Status de los informes</h3>
              <h4>Informes corriendo ahora:</h4>
              <div class='scrollable'>
                    <table id='myTable' class='display'>      
                        <thead>
                            <tr>
                              <th>Username</th>
                              <th>Status</th>
                              <th>Resultado Import</th>
                              <th>Report ID</th>
                              <th>ID</th>
                              <th>Fichero Importado</th>
                              <th>DateTime Finished</th>
                              <th>DateTime Created</th>
                              <th>Comments</th>
                          </tr>
                        </thead>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>procesando</td>
                              <td></td>
                              <td>2</td>
                              <td>1</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td></td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td></td>
                              <td>1</td>
                              <td>2</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td></td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>procesando</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>4</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>procesando</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>5</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>6</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>7</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>procesando</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>8</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>9</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>procesando</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>10</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>11</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>12</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>13</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>14</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>15</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>16</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>17</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>18</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>19</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>20</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>21</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>22</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>23</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>24</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>25</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user2</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>2</td>
                              <td>26</td>
                              <td>xxxx.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>NULL</td>
                          </tr>
                      </tbody>
                      <tbody>
                        <tr>
                              <td>user1</td>
                              <td>creado</td>
                              <td>NULL</td>
                              <td>1</td>
                              <td>27</td>
                              <td>uyyyyyy.csv</td>
                              <td>0000-00-00 00:00:00</td>
                              <td>2023-08-22 20:25:21</td>
                              <td>NULL</td>
                          </tr>
                      </tbody></table></div>          </div>
      </div>
  </div>
  <script>
    
    $(document).ready( function () {
        $('#myTable').DataTable();
    } );
    
    
      </script>
    
</body>
</html>
  
 
body {
  font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  background-color: #fff;
}
 
// Based on example from:
// https://datatables.net/forums/discussion/49457
$(document).ready( function () {
  
  function getHeaderNames(table) {
    // Gets header names.
    //params:
    //  table: table ID.
    //Returns:
    //  Array of column header names.
    
    var header = $(table).DataTable().columns().header().toArray();
    var names = [];
    header.forEach(function(th) {
     names.push($(th).html());
    });
        
    return names;
  }
  
  function buildCols(data) {
    // Builds cols XML.
    //To do: deifne widths for each column.
    //Params:
    //  data: row data.
    //Returns:
    //  String of XML formatted column widths.
    
    var cols = '<cols>';
    
    for (i=0; i<data.length; i++) {
      colNum = i + 1;
      cols += '<col min="' + colNum + '" max="' + colNum + '" width="20" customWidth="1"/>';
    }
    
    cols += '</cols>';
    
    return cols;
  }
  
  function buildRow(data, rowNum, styleNum) {
    // Builds row XML.
    //Params:
    //  data: Row data.
    //  rowNum: Excel row number.
    //  styleNum: style number or empty string for no style.
    //Returns:
    //  String of XML formatted row.
    
    var style = styleNum ? ' s="' + styleNum + '"' : '';
    
    var row = '<row r="' + rowNum + '">';
    for (i=0; i<data.length; i++) {
      colNum = (i + 10).toString(36).toUpperCase();  // Convert to alpha
      
      var cr = colNum + rowNum;
      
      row += '<c t="inlineStr" r="' + cr + '"' + style + '>' +
              '<is>' +
                '<t>' + data[i] + '</t>' +
              '</is>' +
            '</c>';
    }
      
    row += '</row>';
        
    return row;
  }
  
  function getTableData(table, title) {
    // Processes Datatable row data to build sheet.
    //Params:
    //  table: table ID.
    //  title: Title displayed at top of SS or empty str for no title.
    //Returns:
    //  String of XML formatted worksheet.
    
    var header = getHeaderNames(table);
    var table = $(table).DataTable();
    var rowNum = 1;
    var mergeCells = '';
    var ws = '';
    
    ws += buildCols(header);
    ws += '<sheetData>';
    
    if (title.length > 0) {
      ws += buildRow([title], rowNum, 51);
      rowNum++;
      
      mergeCol = ((header.length - 1) + 10).toString(36).toUpperCase();
      
      mergeCells = '<mergeCells count="1">'+
        '<mergeCell ref="A1:' + mergeCol + '1"/>' +
                   '</mergeCells>';
    }
                      
    ws += buildRow(header, rowNum, 2);
    rowNum++;
    
    // Loop through each row to append to sheet.    
    table.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
      var data = this.data();
      
      // If data is object based then it needs to be converted 
      // to an array before sending to buildRow()
      ws += buildRow(data, rowNum, '');
      
      rowNum++;
    } );
    
    ws += '</sheetData>' + mergeCells;
        
    return ws;
  }
  
  function setSheetName(xlsx, name) {
    // Changes tab title for sheet.
    //Params:
    //  xlsx: xlxs worksheet object.
    //  name: name for sheet.
    
    if (name.length > 0) {
      var source = xlsx.xl['workbook.xml'].getElementsByTagName('sheet')[0];
      source.setAttribute('name', name);
    }
  }
  
  function addSheet(xlsx, table, title, name, sheetId) {
    //Clones sheet from Sheet1 to build new sheet.
    //Params:
    //  xlsx: xlsx object.
    //  table: table ID.
    //  title: Title for top row or blank if no title.
    //  name: Name of new sheet.
    //  sheetId: string containing sheetId for new sheet.
    //Returns:
    //  Updated sheet object.
    
    //Add sheet2 to [Content_Types].xml => <Types>
    //============================================
    var source = xlsx['[Content_Types].xml'].getElementsByTagName('Override')[1];
    var clone = source.cloneNode(true);
    clone.setAttribute('PartName','/xl/worksheets/sheet2.xml');
    xlsx['[Content_Types].xml'].getElementsByTagName('Types')[0].appendChild(clone);
    
    //Add sheet relationship to xl/_rels/workbook.xml.rels => Relationships
    //=====================================================================
    var source = xlsx.xl._rels['workbook.xml.rels'].getElementsByTagName('Relationship')[0];
    var clone = source.cloneNode(true);
    clone.setAttribute('Id','rId3');
    clone.setAttribute('Target','worksheets/sheet2.xml');
    xlsx.xl._rels['workbook.xml.rels'].getElementsByTagName('Relationships')[0].appendChild(clone);
    
    //Add second sheet to xl/workbook.xml => <workbook><sheets>
    //=========================================================
    var source = xlsx.xl['workbook.xml'].getElementsByTagName('sheet')[0];
    var clone = source.cloneNode(true);
    clone.setAttribute('name', name);
    clone.setAttribute('sheetId', sheetId);
    clone.setAttribute('r:id','rId3');
    xlsx.xl['workbook.xml'].getElementsByTagName('sheets')[0].appendChild(clone);
    
    //Add sheet2.xml to xl/worksheets
    //===============================
    var newSheet = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'+
      '<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" mc:Ignorable="x14ac">'+
      getTableData(table, title) +
      
      '</worksheet>';
    xlsx.xl.worksheets['sheet2.xml'] = $.parseXML(newSheet);
    
  }
  
  var table = $('#example').DataTable({
    dom: 'Bftrip',
    buttons: [
      {
        extend: 'excelHtml5',
        text: 'Excel',
        customize: function( xlsx ) {
          setSheetName(xlsx, 'Calls');
          addSheet(xlsx, '#example2', 'My Sheet2', 'Summary', '2');
        }
          
      }
    ]
  });
  
  $('#example2').DataTable();
  
  
} );
5 warnings
Line 81: 'table' is already defined.
Line 152: 'source' is already defined.
Line 153: 'clone' is already defined.
Line 160: 'source' is already defined.
Line 161: 'clone' is already defined.
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers