Bueno, este código lo saque de otro sitio web, la cual pueden ver aqui:
http://forums.asp.net/t/1888756.aspx
Estoy corriendolo en Visual Studio 2012 y el error que me arroja al compilar es el siguiente:
Código error:
Ver original
Compilation Error Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. Compiler Error Message: CS0246: The type or namespace name 'DataTable' could not be found (are you missing a using directive or an assembly reference?) Source Error: Line 8: public partial class ExportToExcel : System.Web.UI.Page Line 9: { Line 10: public void ExportToExcelFile(DataTable dt) Line 11: { Line 12: Response.Clear();
estuve averiguando por internet y las posibles soluciones apuntan a que no estoy referenciando correctamente, pero ya hice el ejercicio de referenciar todas las opciones y me sigue arrojando el mismo error...
qué estoy haciendo mal o que me falta??
Código C++:
Ver original
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Test_Web { public partial class ExportToExcel : System.Web.UI.Page { public void ExportToExcelFile(DataTable dt) { Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.Buffer = true; Response.ContentType = "application/vnd.ms-excel"; Response.Write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"); Response.AddHeader("content-disposition", "attachment;filename=PolicyClaimDetail.xls"); Response.ContentEncoding = Encoding.UTF8; Response.Charset = ""; EnableViewState = false; //Set Fonts Response.Write("<font style='font-size:10.0pt; font-family:Calibri;'>"); Response.Write("<BR><BR><BR>"); //Sets the table border, cell spacing, border color, font of the text, background, //foreground, font height Response.Write("<Table border='1' bgColor='#ffffff' borderColor='#000000' cellSpacing='0' cellPadding='0' style='font-size:10.0pt; font-family:Calibri; background:white;'> <TR>"); // Check not to increase number of records more than 65k according to excel,03 if (dt.Rows.Count <= 65536) { // Get DataTable Column's Header foreach (DataColumn column in dt.Columns) { //Write in new column Response.Write("<Td>"); //Get column headers and make it as bold in excel columns Response.Write("<B>"); Response.Write(column); Response.Write("</B>"); Response.Write("</Td>"); } Response.Write("</TR>"); // Get DataTable Column's Row foreach (DataRow dtRow in dt.Rows) { //Write in new row Response.Write("<TR>"); for (int i = 0; i <= dt.Columns.Count - 1; i++) { Response.Write("<Td>"); Response.Write(dtRow[i].ToString()); Response.Write("</Td>"); } Response.Write("</TR>"); } } Response.Write("</Table>"); Response.Write("</font>"); Response.Flush(); Response.End(); } protected void btnExport_Click(object sender, EventArgs e) { var dataTable = new DataTable(); dataTable.Columns.Add("ID"); dataTable.Columns.Add("Name"); dataTable.Columns.Add("Country"); dataTable.Columns.Add("City"); dataTable.Rows.Add("1", "Micheal", "USA", "Washington"); dataTable.Rows.Add("2", "Smith", "UK", "London"); dataTable.Rows.Add("3", "Martin", "AUS", "Sydney"); if (dataTable.Rows.Count > 0) { this.ExportToExcelFile(dataTable); } } } }
Desde ya muchas gracias por el tiempo
Estaré atento a cualquier respuesta!,
saludos!!