ASP.NET - Como guardar archivo excel de manera local en web?

   
Vista:

Como guardar archivo excel de manera local en web?

Publicado por luis (1 intervención) el 23/08/2008 12:42:54
Estimados :

Tengo una duda enorme respecto de como guardar y luego abrir un archivo excel creado a través de una aplicación web (aspnet mas especificamente).

Yo probe primero teniendo instalado el IIS en el mismo computador desde donde ejecute la aplicacion y direccionando por ejemplo a c:windows emp, como el lugar donde guardase el archivo excel y no tuve problemas, pero cuando quise hacer lo mismo desde otro pc de la red no me grabo el archivo.

Lo primero que me asalta como duda es donde guarda el archivo, si es en el servidor donde
se ejecuta la aplicación o en el cliente donde se llama?

Y que puede estar pasando para que no lo grabe.

Cualquiera sugerencia les estoy muy agradecido

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como guardar archivo excel de manera local en w

Publicado por arcenett (45 intervenciones) el 28/08/2008 17:26:02
primero: en tu aplicacion defines el lugar en donde se guarda el archivo excel?, si es asi solo debes tomar el path y darselo al link o procedimiento que va a abrir dicho documento.
segundo te dejo un ejemplo de subir un archivo:

Session["guid"] = Guid.NewGuid();
if (UploadArchivo.HasFile)
{
try
{
string path = Server.MapPath("Archivos/") + Session["guid"].ToString();
if (idEquipo != 0)
{
path = Server.MapPath("Archivos/") + idEquipo.ToString() + "\";

DCL.Archivo Archivo = new DCL.Archivo();
Archivo.idEquipo = idEquipo;
Archivo.Nombre = UploadArchivo.FileName;
BLL.MantenimientoDataContext db = new Mantenimiento.BLL.MantenimientoDataContext();
db.Archivos.InsertOnSubmit(Archivo);
db.SubmitChanges();
}

if (!Directory.Exists(path))
Directory.CreateDirectory(path);

UploadArchivo.SaveAs(path + "\" + UploadArchivo.FileName);
ListaArchivos();
}
catch (Exception ex)
{
lblError.Text = "Error";
}
}
else
{
lblError.Text = "Debe adjuntar un archivo";
}

y para listar los archivos:

if (idEquipo == 0)
{
DirectoryInfo Dir = new DirectoryInfo(Server.MapPath("Archivos/") + Session["guid"].ToString());
FileInfo[] Archivos = Dir.GetFiles();
List<CDCL.TempArchivo> TempArchivo = new List<Mantenimiento.CDCL.TempArchivo>();
foreach (FileInfo item in Archivos)
{
CDCL.TempArchivo TempArch = new Mantenimiento.CDCL.TempArchivo();
TempArch.Nombre = item.Name;
TempArch.idEquipo = Session["guid"].ToString();
TempArchivo.Add(TempArch);
}

gwArchivos.DataSource = TempArchivo;
gwArchivos.DataBind();
}
y para abrir o descargar el archivo:
en la grilla :
<asp:TemplateField HeaderText="Archivos">
<ItemTemplate>
<a href='Archivos/<%# Eval("idEquipo") %>/<%# Eval("Nombre") %>' target="_blank" ><asp:Label ID="lblNombre" runat="server" Text='<%# Eval("Nombre") %>' /></a>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>

o por c# :
archivo = Request.QueryString("op");
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + archivo);
Response.Clear();
Response.WriteFile(archivo);
Response.End();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar