Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213

    download e creazione excel

    ciao a tutti!dovrei inserire un link in pagina aspx attraverso il quale si scarica un file excel contenente dati presi da db
    in asp bastava mettere nella pagina col link: <a href="tme_ent_mob_dett_xls.asp?territorio=<%=terri torio%>&amp;gruppo=<%=gruppo%>"> e nella pagina che effettua la creazione del file excel:
    codice:
    
    <%
    'assegna il nome al file Excel che si desidera generare
    Dim filename
    filename = "tme_ent_mob_dett_xls"
    	
    'abilita la bufferizzazione
    Response.Buffer = true
    
    'definisce il tipo di documento
    Response.ContentType = "application/vnd.ms-excel"
    Response.AddHeader "content-disposition", "inline; filename=" &filename& ".xls"
    	
    Dim Tot(20), Tot1(20)
    %>
    <% Server.ScriptTimeOut = 8000 %>
    <%
    'Recupero i parametri
    	territorio = Request.QueryString("territorio")
    	gruppo = Request.QueryString("gruppo")
    	
    	mysql = " SELECT TERRITORIO, GRUPPO_PREMIUM_CARE, ROW_ID, LAST_UPDATE, STATO, DATA_STIPULA_ORDINE, TEMPO_EVASIONE AS TEMPO_EFFETTIVO, TEMPO_IN_MERCE, TEMPO_EFFETIVO AS TEMPO_EVASIONE " &_
    		 " FROM PASSO_4_DETTAGLIO_KPI_TME WHERE TERRITORIO = '"&territorio&"' AND GRUPPO_PREMIUM_CARE = '"&gruppo&"'"
    	query1 = Replace(mysql, "'", "''")
                objRs.Source = mysql
    	objRs.Open
    	
    'crea la tabella del foglio Excel
                 Response.Write "<table border=1 cellpadding=2 align=center>"
    	Response.Write "<tr bgcolor=#BCBCBC>"
    	Response.Write "<th><font size=1 face=Verdana>TERRITORIO</font></th>"
        Response.Write "<th><font size=1 face=Verdana>PREMIUM CARE</font></th>"
        Response.Write "<th><font size=1 face=Verdana>CODICE ORDINE</font></th>"
        Response.Write "<th><font size=1 face=Verdana>DATA CHIUSURA</font></th>"
        Response.Write "<th><font size=1 face=Verdana>STATO</font></th>"
        Response.Write "<th><font size=1 face=Verdana>DATA STIPULA</font></th>"
        Response.Write "<th><font size=1 face=Verdana>TEMPO EFFETTIVO</font></th>"
        Response.Write "<th><font size=1 face=Verdana>TEMPO IN MERCE</font></th>"
        Response.Write "<th><font size=1 face=Verdana>TEMPO EVASIONE</font></th>"	    
        Response.Write "</tr>"
    	    
    	While Not (objRs.EOF)
    		Response.Write "<tr bgcolor=#FFFF66>"
    		Response.Write "<td align=center><font color=#000000 size=1 face=Verdana>"& objRs.Fields("TERRITORIO") &"</font></td>"
    		Response.Write "<td align=center><font color=#000000 size=1 face=Verdana>"& objRs.Fields("GRUPPO_PREMIUM_CARE") &"</font></td>"
    		Response.Write "<td align=center><font color=#000000 size=1 face=Verdana>"& objRs.Fields("ROW_ID") &"</font></td>"
    		Response.Write "<td align=center><font color=#000000 size=1 face=Verdana>"& objRs.Fields("LAST_UPDATE") &"</font></td>"
    		Response.Write "<td align=center><font color=#000000 size=1 face=Verdana>"& objRs.Fields("STATO") &"</font></td>"
    		Response.Write "<td align=center><font color=#000000 size=1 face=Verdana>"& objRs.Fields("DATA_STIPULA_ORDINE") &"</font></td>"
    		Response.Write "<td align=center><font color=#000000 size=1 face=Verdana>"& objRs.Fields("TEMPO_EFFETTIVO") &"</font></td>"
    		Response.Write "<td align=center><font color=#000000 size=1 face=Verdana>"& objRs.Fields("TEMPO_IN_MERCE") &"</font></td>"
    		Response.Write "<td align=center><font color=#000000 size=1 face=Verdana>"& objRs.Fields("TEMPO_EVASIONE") &"</font></td>"			
    		Response.Write "</tr>"
    		objRs.MoveNext
    	Wend
    	objRs.Close
    	Response.Write "</table>"
    
    'invia l'output HTML bufferizzato
    	Response.Flush
    	Response.End
    	
    'INIZIO TRACCIAMENTO DATI UTENTE
    	tracciamento = "INSERT INTO TRACCIAMENTO (USERNAME, IP, QUERY, PAGINA, DATA) VALUES ('"& Session("login") &"', '"& Request.ServerVariables("REMOTE_ADDR") &"', '"& query1 &"', 'tme_ent_mob_dett_xls.asp', getdate())"
    	objConn.Execute tracciamento
    'FINE TRACCIAMENTO DATI UTENTE
    %>
    <html><head><title>XLS KPI Tasso Chiamate Enterprise</title></head><body></body></html>
    come posso fare tutto ciò in .net?

  2. #2
    la vita è un fulmine ma prenderlo nel culo è un lampo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213
    ho risolto in questo modo:
    codice:
    public partial class tme_ent_dett : System.Web.UI.Page
    {
        static string territorio;
        static string gruppo;
        String ConnString = "Provider=sqloledb; Data Source=10.10.237.111; Initial Catalog=PREMIUM_CARE_E_WEB_SERVICES_2008_1H; User Id=sa; Password=!tutankamon$4;";
        protected void Page_Load(object sender, EventArgs e)
        {
            territorio=Request.QueryString["terr"];
            gruppo = Request.QueryString["gruppo"];
            Response.Write(territorio);
            Response.Write(gruppo);
        }
        protected void ImageButton1_Click(object sender, EventArgs e)
        {
            OleDbConnection cn = new OleDbConnection(ConnString);
    //Apriamo la connessione
            cn.Open();
    //Componiamo la stringa di interrogazione al database
            String sql = "SELECT TERRITORIO, GRUPPO_PREMIUM_CARE, ROW_ID, LAST_UPDATE, STATO, DATA_STIPULA_ORDINE, TEMPO_EVASIONE, TEMPO_IN_MERCE, TEMPO_EFFETIVO FROM passo_4_dettaglio_kpi_tme WHERE (GRUPPO_PREMIUM_CARE = '" + gruppo + "') AND (TERRITORIO ='" + territorio + "')";
    //Creiamo l'oggetto cmd di tipo OleDbCommand
    //passando la sql e la connessione al costruttore dell'oggetto
            OleDbCommand cmd = new OleDbCommand(sql, cn);
    //Creiamo un oggetto di tipo OleDbDataReader
    //Esso è assimilabile a un RecordSet con cursore di tipo forward-only in ASP tradizionale
            OleDbDataReader rdr = cmd.ExecuteReader();
    
            Response.Clear();
            Response.AddHeader("Content-Disposition", "Filename=incaricati.xls");
            Response.ContentType = "application/vnd.ms-excel";
    
            bool flag = false;
            Response.Write("<table border=1 cellpadding=2 align=center>");
                Response.Write("<tr bgcolor=#336699>");
                    Response.Write("<th><font color=white size=1 face=Verdana>TERRITORIO</font></th>");
                    Response.Write("<th><font color=white size=1 face=Verdana>PREMIUM CARE</font></th>");
                    Response.Write("<th><font color=white size=1 face=Verdana>CODICE ORDINE</font></th>");
                    Response.Write("<th><font color=white size=1 face=Verdana>DATA CHIUSURA</font></th>");
                    Response.Write("<th><font color=white size=1 face=Verdana>STATO</font></th>");
                    Response.Write("<th><font color=white size=1 face=Verdana>DATA STIPULA</font></th>");
                    Response.Write("<th><font color=white size=1 face=Verdana>TEMPO EFFETTIVO</font></th>");
                    Response.Write("<th><font color=white size=1 face=Verdana>TEMPO IN MERCE</font></th>");
                    Response.Write("<th><font color=white size=1 face=Verdana>TEMPO EVASIONE</font></th>");
                Response.Write("</tr>");
            while (rdr.Read())
            {
                Response.Write("<tr>");
                for (int i = 0; i < rdr.FieldCount; i++)
                {
                    Response.Write("<td bgcolor=\"#cddbeb\">" + rdr[i] + "</td>");
                }
                Response.Write("</tr>");
            }
            Response.Write("</table>");
            Response.End();
        }
    }
    e nella pagina aspx:
    <asp:ImageButton ID="ImageButton1" runat="server" Height="16px"
    onclick="ImageButton1_Click" />
    in questo modo però cliccando sul link col tasto destro del mouse non mi compare la possibilità di salvare direttamente il file

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    Ciao!
    prova s sostituire questo
    Response.AddHeader("Content-Disposition", "Filename=incaricati.xls");

    con questo

    Response.AddHeader("Content-Disposition", "attachment; Filename=incaricati.xls");
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.