Wednesday, August 30, 2017

office/Exportar cualquier lista

Download

Vamos a hacer algo un poco mas divertido ya que lo otro tiende a ser un poco aburrido.

Me encontré con una pregunta en los foros de la MSDN que me preguntaban como hacer para exportar una lista de Encuesta a un excel y que aparezcan todos los datos. Y dije buen ejemplo para hacer un post.

Ahora si manos a la obra.

Primero que nada vamos a usar una consulta por RPC al Sharepoint, estas librerias se usan para hacer conecciones especificas. En este caso vamos a usar owssvr.dll  estas llamadas se hacen via url y devuelven diferentes cosas dependiendo lo que quedamos hacer. Aca les dejo un listado de comandos:

Comando (Cmd=) Descripción Parametros
dialogview Un parámetro especial que se utiliza dentro del comando = Mostrar Cmd que se abre una vista de las bibliotecas de documentos dentro de un sitio, una vista de una biblioteca de documentos específicos, o una vista de una carpeta dentro de una biblioteca de documentos que se utiliza en un cuadro de diálogo para abrir o guardar archivos; o abre el formulario de propiedad que se utiliza al guardar un archivo. dialogview,location,FileDialogFilterValue
Display Ejecuta una query a la Base de Datos mediante el GUID de la lista y deuvelve un html o un xml ListXMLDATA,View,Query,Using,CacheControl,ID
ExportList Exporta en modo CAML (Collaborative Application Markup Language) mediante la GUID de la lista

 

 

List
GetProjSchema Consulta por el esquema XML de un Sitio. SiteTemplate
GetUsageBlob Devuelve la información de la utilizacion de un Sitio Especifico. BlobType
HitCounter Este metodo genera hits en una pagina, siempre y cuando tenga el contador activado. PageImage,CustomDigits
RenderView Consulta por el contenido de una vista en particular de una lista mediante el GUID de la Lista ListView,URLBase

Como verán son varios comandos que se pueden ejecutar. Los links de los comandos son a Technet apuntando a una pagina en ingles.

Adicionalmente hay otros parametros que se pueden colocar para lograr mas filtrados o ordenes en particular.

 

  • FileDialogFilterValue  setea un filtro en una vista de una libreria de documentos para devolver ciertas extensiones.  (Ejemplos: *.doc, *.ppt, or *.xls).
  • FilterField n este filtro es para filtrar un campo o limitar el tamaño de lo que va a devolver.
  • FilterValue n este filtro es igual que el anterior pero a los valores de los campos.
  • SortField to este filtro es para ordenar por un campo especifico.
  • SortDir to con este indicamos la dirreccion del anterior acendentes (asc) o desendentes (desc).
  • Using to con esto especificamos la url del archivo virtual que vamos a usar para exportar los elementos de una lista, debe tener especificado solo uno de estos: vcard.vcf, event.ics, query.iqy, or query.bqy.

 

Ahora bien habiendo haciendo la entrada a los elementos que vamos a usar, vamos a armar un comando para poder hacer una exportación de Elementos de una Encuesta.

Como sabrás si llegaste a este post las encuestas no te devuelven quien contesta solo que contestaron y las cantidades. A veces necesitamos un poco mas como saber quien contesto para ver quien cumplió o no participo.

 

primero veamos de armar la url para el export, para ello necesitamos el id de la lista que vamos a exportar.

Supongamos que la tenemos en el sitio http://sp2013/list/encuesta. Bueno entramos y vamos a Configuración > Configuración de la Encuesta

Configuracion

Vamos a ver que la url cambia y nos pone algo como esto.

http://sp2013/_layouts/15/start.aspx#/_layouts/15/survedit.aspx?List=%7B3E01CE5E%2D6A14%2D4299%2D99EE%2D3BABB6457D37%7D

bueno ven que dice List=%7B3E01CE5E%2D6A14%2D4299%2D99EE%2D3BABB6457D37%7D eso es lo que estamos buscando ese es el id de la lista.

Les recomiendo una pagina que encontré (en Ingles) que saca en limpio los id de las listas y vistas para poder hacerles las cosas mas faciles.  http://www.surfpointtech.com/2013/10/14/sharepoint-list-id-and-view-id-calculator/

esto funciona muy facil ponen en el campo grande la url y les devuelve el id de la lista.

ID

Este es el id que vamos a necesitar para armar la url.

Probamos en un browser a ver si estamos creandola bien, poniendo lo siguiente como url.

http://sp2013/_vti_bin/owssvr.dll?CS=109&Using=_layouts/query.iqy&List={3E01CE5E-6A14-4299-99EE-3BABB6457D37}&CacheControl=1

si todo sale bien, les aparecerá un archivo para bajar al abrirlo va a abrir el excel y les va a mostrar la información de la lista.

Excel

Nota: Esto esta probado en Internet Explorer

Ahora vamos a crear el boton para exportar, ya que esta información la va a poder usar cualquiera vamos a crear una pagina especifica para esto. Vamos a la la tuerquita > Agregar Pagina.

Agregar Pagina

Le ponemos un nombre en mi caso pongo exportar.

Exportar

Una ves dentro vamos a Editar Fuentes.

Fuentes

y agregamos el siguiente codigo.

 

HTML
Edit|Remove
<input type=”button” style=”width:180px; height: 75px; 30px;background:gray; color:white;font-size:larger; font-weight:bold;”onclick=”window.location.href=’http://sp2013/_vti_bin/owssvr.dll?CS=109&Using=_layouts/query.iqy&List={3E01CE5E-6A14-4299-99EE-3BABB6457D37}&CacheControl=1′;” value =”Exportar A Excel“/>
 

No comments:

Post a Comment