ciao a tutti!
in una pagina web ho un bottone che al click deve eseguire una query e esportare i dati in formato excel, chiedendo però all'utente dove effettuare il download.
ho fatto praticamente tutto, mi manca proprio l'ultima parte.
codice:
protected void export_Click(object sender, EventArgs e)
{
string collezione = txtCollezioni.Text.ToUpper();
DataTable dt = db.getGiacenze("K2.5.002").Tables[0];
int rowNo = dt.Rows.Count;
int colNo = dt.Columns.Count;
int colIndex = 0;
Excel._Application app = new Excel.Application();
Excel._Workbook wk = app.Workbooks.Add(Type.Missing);
Excel._Worksheet sheet = null;
sheet = wk.Sheets[1];
sheet = wk.ActiveSheet;
//sheet.Name = "Giacenze_" + DateTime.Now.ToString().Replace(":", "").Replace("-", "").Replace(" ", "");
sheet.Name = "giac";
Excel.Range range;
foreach (DataColumn col in dt.Columns)
{
colIndex++;
app.Cells[1, colIndex] = col.ColumnName;
}
object[,] objData = new object[rowNo, colNo];
for (int i = 0; i < rowNo; i++)
{
for (int j = 0; j < colNo; j++)
{
objData[i, j] = dt.Rows[i][j];
}
}
range = sheet.Range[app.Cells[4, 3], app.Cells[rowNo + 1, colNo]];
range.NumberFormat = "@";
range.Value2 = objData;
sheet.Range[app.Cells[4, 3], app.Cells[rowNo + 1, colNo + 1]].NumberFormat = "yyyy-m-d h:mm";
//wk.SaveAs(Response.WriteFile(Server.MapPath(@"~/logo_large.gif")), Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
wk.Close();
app.Quit();
GC.Collect();
}
come faccio a far uscire la finestra di salvataggio??
probabilmente è una cosa banale, ma non sono riuscito a capire.