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