Estoy usando el siguiente ejemplo en Microsoft.com sitio web para exportar datos desde el servidor sql a la hoja de Excel, modifiqué ligeramente el ejemplo para usar datatable
para mi versión mientras lo depuro, recorre todas las filas pero solo muestra una última fila en el archivo de Excel real
A continuación se muestra el código para 2010, estoy seguro de que me perdí algo
foreach (DataRow row in dt.Rows)
{
// rowCounter++;
workSheet.Cells[1, "A"] = row["Date"];
workSheet.Cells[1, "B"] = row["Title"];
workSheet.Cells[1, "C"] = row["Description"];
}
((Excel.Range)workSheet.Columns[1]).AutoFit();
((Excel.Range)workSheet.Columns[2]).AutoFit();
((Excel.Range)workSheet.Columns[3]).AutoFit();
¿Cómo puedo modificar este código para que escriba la salida en Download_Excel.xls
archivo
El código anterior solo muestra la última fila en Excel. SALIDA
No tiene título personalizado como tampoco.
Dos errores que estaba haciendo.
primero ROWINDEX
Estaba empezando desde el 1 así que me puse ROWINDEX= 2
y las cosas funcionaron bien
Codigo de trabajo
foreach (DataRow row in dt.Rows)
{
rowCounter++;
workSheet.Cells[rowCounter, "A"] = row["Date"];
workSheet.Cells[rowCounter, "B"] = row["Title"];
workSheet.Cells[rowCounter, "C"] = row["Description"];
}
string fileName = "Product.xls";
excelApp.DisplayAlerts = false;
workSheet.SaveAs(HttpContext.Current.Server.MapPath("../"+fileName));
Respuestas
0 para la respuesta № 1Asegúrate de cambiar el índice en el camino. En este momento, siempre está sobrescribiendo la fila 1, haga que siga aumentando con cada fila.