Share via


Exportar a Excel cualquier lista

Conceptos a utilizar

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

List, XMLDATA,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.

Page, Image,Custom, Digits

RenderView

Consulta por el contenido de una vista en particular de una lista mediante el GUID de la Lista

List, View,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.

Filtros Adicionales

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.

Armado de la Consulta

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

https://stucker2016.files.wordpress.com/2016/03/configuracion.png?w=680

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. 

https://stucker2016.files.wordpress.com/2016/03/id.png?w=680

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

Testeo de la query

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. 

https://stucker2016.files.wordpress.com/2016/03/excel.png?w=680

Nota: Esto esta probado en Internet Explorer

Creación del Boton

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.

https://stucker2016.files.wordpress.com/2016/03/agregar-pagina.png

Le ponemos un nombre en mi caso pongo exportar. 

https://stucker2016.files.wordpress.com/2016/03/exportar.png

Una ves dentro vamos a Editar Fuentes.

https://stucker2016.files.wordpress.com/2016/03/fuentes.png

y agregamos el siguiente codigo.

<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"/>

Aceptamos los cambios. Y guardamos la pagina.

https://stucker2016.files.wordpress.com/2016/03/guardar.png