Las funciones de esta librería Xls.Reader permiten construir
lectores de ficheros Excel Xls, la versión clásica de Microsoft,
a través de una conexión Odbc de Windows de Microsoft.
La funcionalidad de este fichero principal make.tol es sólo probar las
diferentes funcionalidades de esta librería que se implementan dentro del
fichero xls.tol.
Esta librería asume que existe una conexión Odbc de nombre conocido y
que se guarda en una de las variables de control llamada XlsOdb y que
esta conexión Odbc apunta a un fichero Excel del tipo Xls.
Las conexiones Odbc apuntan a un fichero o base de datos concreto, por lo
que para no tener que crear una conexión Odbc para cada fichero Excel que
se quiera leer, la conexión Odbc ha de apuntar siempre a un fichero Excel
especial que hace de buffer temporal de lectura y cuya ruta se puede
cambiar a través de la variable de control, XlsBuf.
En cualquier caso, para las principales funcionalidades de lectura de esta
librería Xls.Reader, existen 2 versiones:
a) la que lee usuando la conexión Odbc y el fichero buffer Excel que
indiquen las variables de control XlsOdb y XlsBuf, respectivamente y
b) otras funciones diferentes en las que el nombre de la conexión Odbc y
la ruta del fichero Excel buffer se pasan como parámetros de entrada.
La librería Xls.Reader proporciona funcionalidades para:
a) asignar la variable de control Odbc o usar el valor por defecto,
b) asignar la variable de control del fichero Excel buffer o usar el
fichero por defecto,
c) verificar que es un fichero Excel del tipo Xls,
d) para copiar el fichero Excel que se quiere leer sobre el buffer de
lectura (que es el fichero al que apunta la conexión Odbc) y
e) para leer un rango de celdas de una de las hojas del fichero Excel.
La funcionalidad de lectura Excel Xls de esta librería, a través de Odbc,
usa internamente la versión de Sql (Structured Query Language) limitada
del Excel de Microsoft.
Para las pruebas de la funcionalidad de esta libraría Xls.Reader de lectura
de Excel Xls a través de Odbc se han empleado:
a) cuatro ficheros Excel de prueba, con diferentes volumentes y tipo de
datos, que se guardan en el directorio dat y
b) un fichero Excel buffer que se guarda en el directorio tmp.
Pero pueden leerse otros ficheros Excel, emplearse otro buffer de lectura
y ubicarlos en los directorios que se deseen.
Con estos casos de prueba se ha comprobado el funcionamiento de las
funciones de esta librería para las versiones de Tol 1.1.1, 1.1.5, 1.1.6 y
2.0.1.
Xls.Reader funciones de lectura de hojas Excel Xls a través de una conexión Odbc
//////////////////////////////////////////////////////////////////////////////
Set allInc = Include("tol/inc.tol");
//////////////////////////////////////////////////////////////////////////////
PutDescription("Inclusion de las funciones comunes.", allInc);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
Real timIni = Copy(Time);
//////////////////////////////////////////////////////////////////////////////
PutDescription("Para controlar tiempos.", timIni);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
Real tst001 = If(FALSE, // Poner true para realizar este test
{
Set View(SetOfReal(XlsIsExcelXls(XlsBuf)), ""); // Ha de ser cierto
Set carTab = XlsReadSheet("dat/car.xls", "Hoja1", "A", "I");
Set View(carTab, "");
Card(carTab)
},FALSE);
//////////////////////////////////////////////////////////////////////////////
PutDescription("Primera prueba.", tst001);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
Real tst002 = If(FALSE, // Poner true para realizar este test
{
// Este Excel tiene 1 sola hoja,
// por lo que se puede leer sin pasarle su nombre.
Set gasTab = XlsReadSheet("dat/gas.xls", "", "A", "H");
Set View(gasTab, "");
Card(gasTab)
},FALSE);
//////////////////////////////////////////////////////////////////////////////
PutDescription("Segunda prueba.", tst002);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
Real tst003 = If(FALSE, // Poner true para realizar este test
{
Set truTab = XlsReadSheet("dat/tru.xls", "", "A", "H");
Set View(truTab, "");
Card(truTab)
},FALSE);
//////////////////////////////////////////////////////////////////////////////
PutDescription("Tercera prueba.", tst003);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
Real tst004 = If(FALSE, // Poner true para realizar este test
{
// De las 2 hojas de nombre complejo y sencillo, lee sencillo
Set tinTab = XlsReadSheet("dat/tin.xls", "sencillo", "A", "C");
Set View(tinTab, "");
Card(tinTab)
},FALSE);
//////////////////////////////////////////////////////////////////////////////
PutDescription("Cuarta prueba.", tst004);
//////////////////////////////////////////////////////////////////////////////
Text WriteLn("\nXls.Reader make: end ["+
FormatReal((Time-timIni)/60,"%.2lf")+" m].");
//////////////////////////////////////////////////////////////////////////////
// FILE : make.tol
// AUTHOR : http://www.asolver.com
// CLASS : Excel; Sql
// VERSION : Tol 1.1.1; Tol 1.1.5; Tol 1.1.6; Tol 2.0.1
// PURPOSE : Las funciones de esta librería Xls.Reader permiten construir
// lectores de ficheros Excel Xls, la versión clásica de Microsoft,
// a través de una conexión Odbc de Windows de Microsoft.
//
// La funcionalidad de este fichero principal make.tol es sólo probar las
// diferentes funcionalidades de esta librería que se implementan dentro del
// fichero xls.tol.
//
// Esta librería asume que existe una conexión Odbc de nombre conocido y
// que se guarda en una de las variables de control llamada XlsOdb y que
// esta conexión Odbc apunta a un fichero Excel del tipo Xls.
// _
// Las conexiones Odbc apuntan a un fichero o base de datos concreto, por lo
// que para no tener que crear una conexión Odbc para cada fichero Excel que
// se quiera leer, la conexión Odbc ha de apuntar siempre a un fichero Excel
// especial que hace de buffer temporal de lectura y cuya ruta se puede
// cambiar a través de la variable de control, XlsBuf.
//
// En cualquier caso, para las principales funcionalidades de lectura de esta
// librería Xls.Reader, existen 2 versiones:
// a) la que lee usuando la conexión Odbc y el fichero buffer Excel que
// indiquen las variables de control XlsOdb y XlsBuf, respectivamente y
// b) otras funciones diferentes en las que el nombre de la conexión Odbc y
// la ruta del fichero Excel buffer se pasan como parámetros de entrada.
// _
// La librería Xls.Reader proporciona funcionalidades para:
// a) asignar la variable de control Odbc o usar el valor por defecto,
// b) asignar la variable de control del fichero Excel buffer o usar el
// fichero por defecto,
// c) verificar que es un fichero Excel del tipo Xls,
// d) para copiar el fichero Excel que se quiere leer sobre el buffer de
// lectura (que es el fichero al que apunta la conexión Odbc) y
// e) para leer un rango de celdas de una de las hojas del fichero Excel.
//
// La funcionalidad de lectura Excel Xls de esta librería, a través de Odbc,
// usa internamente la versión de Sql (Structured Query Language) limitada
// del Excel de Microsoft.
// _
// Para las pruebas de la funcionalidad de esta libraría Xls.Reader de lectura
// de Excel Xls a través de Odbc se han empleado:
// a) cuatro ficheros Excel de prueba, con diferentes volumentes y tipo de
// datos, que se guardan en el directorio dat y
// b) un fichero Excel buffer que se guarda en el directorio tmp.
//
// Pero pueden leerse otros ficheros Excel, emplearse otro buffer de lectura
// y ubicarlos en los directorios que se deseen.
//
// Con estos casos de prueba se ha comprobado el funcionamiento de las
// funciones de esta librería para las versiones de Tol 1.1.1, 1.1.5, 1.1.6 y
// 2.0.1.
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// INCLUDE
//////////////////////////////////////////////////////////////////////////////
Text WriteLn("\nXls.Reader make: begin");
//////////////////////////////////////////////////////////////////////////////
Set allInc = Include("tol/inc.tol");
//////////////////////////////////////////////////////////////////////////////
PutDescription("Inclusion de las funciones comunes.", allInc);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// TEST
//////////////////////////////////////////////////////////////////////////////
Text WriteLn("\nXls.Reader make: test");
//////////////////////////////////////////////////////////////////////////////
Real timIni = Copy(Time);
//////////////////////////////////////////////////////////////////////////////
PutDescription("Para controlar tiempos.", timIni);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
Real tst001 = If(FALSE, // Poner true para realizar este test
{
Set View(SetOfReal(XlsIsExcelXls(XlsBuf)), ""); // Ha de ser cierto
Set carTab = XlsReadSheet("dat/car.xls", "Hoja1", "A", "I");
Set View(carTab, "");
Card(carTab)
},FALSE);
//////////////////////////////////////////////////////////////////////////////
PutDescription("Primera prueba.", tst001);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
Real tst002 = If(FALSE, // Poner true para realizar este test
{
// Este Excel tiene 1 sola hoja,
// por lo que se puede leer sin pasarle su nombre.
Set gasTab = XlsReadSheet("dat/gas.xls", "", "A", "H");
Set View(gasTab, "");
Card(gasTab)
},FALSE);
//////////////////////////////////////////////////////////////////////////////
PutDescription("Segunda prueba.", tst002);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
Real tst003 = If(FALSE, // Poner true para realizar este test
{
Set truTab = XlsReadSheet("dat/tru.xls", "", "A", "H");
Set View(truTab, "");
Card(truTab)
},FALSE);
//////////////////////////////////////////////////////////////////////////////
PutDescription("Tercera prueba.", tst003);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
Real tst004 = If(FALSE, // Poner true para realizar este test
{
// De las 2 hojas de nombre complejo y sencillo, lee sencillo
Set tinTab = XlsReadSheet("dat/tin.xls", "sencillo", "A", "C");
Set View(tinTab, "");
Card(tinTab)
},FALSE);
//////////////////////////////////////////////////////////////////////////////
PutDescription("Cuarta prueba.", tst004);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// END
//////////////////////////////////////////////////////////////////////////////
Text WriteLn("\nXls.Reader make: end ["+
FormatReal((Time-timIni)/60,"%.2lf")+" m].");
2015 asolver.com | Aviso legal | XHTML | Δ Θ Ξ | Creative Commons | Mapa y funciones del sitio