文件导出到空白Excel-PHP

时间:2018-09-19 23:06:33

标签: php excel

我在我的项目中实现了能够以xls格式提取的可能性,通过数据表中的复选框选择的所有字段在while循环之前初始化了一种形式,该形式针对包含整个php的外部页面,只有在提取excel表时又将其返回为空时,我才放置了两页代码:

index.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<style type="text/css">


td{
  text-align: center;
}</style>

<?php
//fetch.php
include '../../../connessione.php';
if(isset($_POST["query"]))
{
 $cerca = mysqli_real_escape_string($connessione, $_POST["query"]);
 $query = "
  SELECT * FROM ca2_2ac_impianti_in_attivita
  WHERE codice_impianto_in_attivita LIKE '%".$cerca."%'
  OR cim_impianto_in_attivita LIKE '%".$cerca."%'
  OR indirizzo_impianto_in_attivita LIKE '%".$cerca."%'
  OR citta_impianto_in_attivita LIKE '%".$cerca."%'
  OR categoria_strada_impianto_in_attivita LIKE '%".$cerca."%'
  OR tipo_impianto_in_attivita LIKE '%".$cerca."%'
  OR formato_impianto_in_attivita LIKE '%".$cerca."%'
  OR caratteristiche_impianto_in_attivita LIKE '%".$cerca."%'
  OR quartiere_impianto_in_attivita LIKE '%".$cerca."%'
  OR municipio_impianto_in_attivita LIKE '%".$cerca."%'
  OR cap_impianto_in_attivita LIKE '%".$cerca."%'
  OR categoria_impianto_in_attivita LIKE '%".$cerca."%'
  OR longitudine_impianto_in_attivita LIKE '%".$cerca."%'
  OR latitudine_impianto_in_attivita LIKE '%".$cerca."%'
  OR nominativo_cliente_in_attivita LIKE '%".$cerca."%'
  OR data_inizio LIKE '%".$cerca."%'
  OR data_fine LIKE '%".$cerca."%'
 ";

}
else
{

 $query = "SELECT * FROM ca2_2ac_impianti_in_attivita ORDER BY id_impianto_in_attivita";

}

$result = mysqli_query($connessione, $query);
if(mysqli_num_rows($result) > 0)
{
?>

<div class="px-4">

<div class="table-wrapper">



<form action="excel_specifico.php" method="POST">

<input type="submit" name="invia" value="Excel Specifico" class='btn btn-sm btn-warning'>
<!--Table-->
<table id="tablePreview" class="table table-striped table-hover table-sm table-borderless">

<!--Table head-->
<thead style="text-align: center;">
<tr>
<th>
<label class="form-check-label" for="checkbox" class="mr-2 label-table"></label>
</th>
<th class="th-lg"><a href=""><strong>Seleziona</strong>  </a></th>
<th class="th-lg"><a href=""><strong>Codice</strong>  </a></th>
<th class="th-lg"><a href=""><strong>CIM</strong> </a></th>
<th class="th-lg"><a href=""><strong>Indirizzo</strong> </th>
<th class="th-lg"><a href=""><strong>Città</strong> </a></th>
<th class="th-lg"><a href=""><strong>Categoria</strong> </a></th>
<th class="th-lg"><a href=""><strong>Tipo</strong> </a></th>
<th class="th-lg"><a href=""><strong>Formato</strong> </a></th>
<th class="th-lg"><a href=""><strong>Caratteristiche</strong> </a></th>
<th class="th-lg"><a href=""><strong>Quartiere</strong> </a></th>
<th class="th-lg"><a href=""><strong>Municipio</strong> </a></th>
<th class="th-lg"><a href=""><strong>Cap</strong> </a></th>
<th class="th-lg"><a href=""><strong>Categoria</strong> </a></th>
<th class="th-lg"><a href=""><strong>Longituidine</strong> </a></th>
<th class="th-lg"><a href=""><strong>Latitudine</strong> </a></th>
<th class="th-lg"><a href=""><strong>Cliente</strong> </a></th>
<th class="th-lg"><a href=""><strong>Data Inzio</strong> </a></th>
<th class="th-lg"><a href=""><strong>Data Fine</strong> </a></th>
<th class="th-lg"><a href=""><strong>Azioni Impianto</strong> </a></th>
</tr>
</thead>
                <!--Table head-->


<?php

 while($row = mysqli_fetch_array($result))
 {
?>
                <!--Table body-->
<tbody>
<tr>
<th scope="row">
<label class="form-check-label" for="checkbox1" class="label-table"></label>
</th>

<td style="vertical-align: middle;">
<div class="form-check">

<input type="checkbox" value="<?php echo $row['id_impianto_in_attivita']; ?>" name="id_impianto_in_attivita[]" class="custom-control-input" id="<?php echo $row['id_impianto_in_attivita']; ?>">
<label class="form-check-label" for="<?php echo $row['id_impianto_in_attivita']; ?>"></label>
</div>
</td>

<td style="vertical-align: middle;">
<?php echo $row['codice_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['cim_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['indirizzo_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['citta_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['categoria_strada_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['tipo_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['formato_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['caratteristiche_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['quartiere_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['municipio_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['cap_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['categoria_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['longitudine_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['latitudine_impianto_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['nominativo_cliente_in_attivita'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['data_inizio'] ;?>
</td>

<td style="vertical-align: middle;">
<?php echo $row['data_fine'] ;?>
</td>

<td style="vertical-align: middle;">

<a href="#elimina<?php echo $row['id_impianto_in_attivita']; ?>" data-toggle="modal" class="btn btn-sm btn-danger btn-rounded"><span class="glyphicon glyphicon-trash"></span> ELIMINA</a>
<a href="#"><?php echo "<a href='paginadettaglio.php?id_impianto_in_attivita={$row['id_impianto_in_attivita']}' class='btn btn-sm btn-warning btn-rounded'>Dettagli</a><br>";?></a>
<?php include('modali.php'); ?>

</td>
</tr>

</tbody>

  <?php
}
 }
else
{
 echo 'Nessun risultato corrisponde alla tua ricerca';
}

?>

</table>
<!--Table-->
</form>
</div>

<hr class="my-0">
</div>


<script>
</script>

excel_specifico.php:

 <?php
    session_start();
    include_once('conexao.php');
?>
<!DOCTYPE html>
<html lang="pt-br">
    <head>
        <meta charset="utf-8">
        <title>Contato</title>
    <head>
    <body>
        <?php
        if(isset($_POST['invia'])){
            // Definimos o nome do arquivo que será exportado
            $arquivo = 'excel_specifico.xls';

            // Criamos uma tabela HTML com o formato da planilha
            $html = '';
            $html .= '<table border="0">';



            $html .= '<tr>';
            $html .= '<td><b>ID</b></td>';
            $html .= '<td><b>Nome</b></td>';
            $html .= '<td><b>E-mail</b></td>';
            $html .= '<td><b>Assunto</b></td>';
            $html .= '</tr>';

            foreach($_POST['invia'] as $id => $invia){
                //echo "ID do item: $id <br>";
                //Selecionar todos os itens da tabela 
                $risultato_query = "SELECT * FROM ca2_2ac_impianti_in_attivita WHERE id_impianto_in_attivita = $id LIMIT 1";
                $risultato_contatto = mysqli_query($conn , $risultato_query);

                while($campi_selezionati = mysqli_fetch_array($risultato_contatto)){
                    $html .= '<tr>';
                    $html .= '<td>'.$campi_selezionati["id_impianto_in_attivita"].'</td>';
                    $html .= '<td>'.$campi_selezionati["codice_impianto_in_attivita"].'</td>';
                    $html .= '<td>'.$campi_selezionati["cim_impianto_in_attivita"].'</td>';
                    $html .= '<td>'.$campi_selezionati["indirizzo_impianto_in_attivita"].'</td>';
                    $html .= '<td>'.$data.'</td>';
                    $html .= '</tr>';
                    ;
                }
            }
            // Configurações header para forçar o download
            header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
            header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
            header ("Cache-Control: no-cache, must-revalidate");
            header ("Pragma: no-cache");
            header ("Content-type: application/x-msexcel");
            header ("Content-Disposition: attachment; filename=\"{$arquivo}\"" );
            header ("Content-Description: PHP Generated Data" );
            // Envia o conteúdo do arquivo
            echo $html;
            exit;
        }else{
            echo "Nenhum item selecionado";
        }

        ?>
    </body>
</html>

0 个答案:

没有答案