Usuario
Consumir una planilla excel desde libreria de documentos

Pregunta
-
Hola: Necesito modificar un web part que hice. Actualmente importa por oledb una planilla excel desde el file system. Necesito modificarlo para que la importación se realice de una planilla ubicada en una libreria de documentos sharepoint 2007.
Por favor pasenmé si alguno tiene un link con un ejemplo a mano.
Gracias.
Marcelo Cardozo
Todas las respuestas
-
Hola, no tengo visual studio delante pero te voy a poner un ejemplo de lo que puedes hacer:
using(SPSite siteCol = new SPSITE("url colección de sitios"))
{
using (SPWeb web = siteCol.OpenWeb("Sitio en el que está la biblioteca"))
{
SPLIST lista = web.Lists["Nombre biblioteca"];
//Si no tienes mucha experiencia, con alguna herramienta como Caml Query builder puedes construir una query que te devuelva el elemento que quieres.
SPQuery query = new SPQuery();
query.query = "TuQuery";
SPListItemCollection itemColl = lista.GetItems(query);
MemoryStream str = itemColl[0].File.OpenBinaryStream(); //O algo así...
}
}
-
-
Hola Marcelo
Por que no intentas usar el servicio de ExcelServices? si estas usando archivos de Excel 2007 puedes usar el servicio de Excel Services para leerlo, revisa el siguiente articulo
http://blogs.msdn.com/b/cumgranosalis/archive/2006/03/24/excelserviceshelloworld.aspx
Saludos
-
Hola Marcelo,
Si lo que quieres es acceder al contenido del documento Excel, tienes dos opciones:
- La que comenta Pedro de usar los servicios de excel.
- O bien usar la API de Open XML que facilita bastante el acceso y procesado de los datos. En este enlace puedes ver un ejemplo de como usarlo: http://msdn.microsoft.com/es-es/library/cc822064.aspx. La única pega que tiene esta aproximación es que tienes que instalar la API de OpenXML en el servidor, pero a cambio se simplifica mucho el trabajo con los datos del archivo Excel (Versiones 2007/2010).
Un saludo!