Index: tol_pkg/ImportExport/Excel.tol
===================================================================
--- tol_pkg/ImportExport/Excel.tol	(revision cc43b8c7d591363a2d5b8ffc36ab8491f569f234)
+++ tol_pkg/ImportExport/Excel.tol	(revision cc43b8c7d591363a2d5b8ffc36ab8491f569f234)
@@ -0,0 +1,94 @@
+/* -*- mode: C++ -*- */
+//////////////////////////////////////////////////////////////////////////////
+// FILE   : Excel.tol
+// PURPOSE: Defines class ImportExport::Excel
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+Text _.autodoc.member.Excel = 
+"Importing data from Excel to TOL";
+Class @Excel 
+//////////////////////////////////////////////////////////////////////////////
+{
+  Text _.path;
+  Real _id = ?;
+
+  ////////////////////////////////////////////////////////////////////////////
+  Static @Excel Default(Real void)
+  ////////////////////////////////////////////////////////////////////////////
+  {
+    @Excel new
+  };
+  ////////////////////////////////////////////////////////////////////////////
+  Static @Excel New(Text path)
+  ////////////////////////////////////////////////////////////////////////////
+  {
+    @Excel new =
+    [[
+      Text _.path = path;
+      Real _id = Excel.Open(_.path)
+    ]];
+    new
+  };
+  ////////////////////////////////////////////////////////////////////////////
+  Real __destroy(Real void)
+  ////////////////////////////////////////////////////////////////////////////
+  {
+    If(!IsUnknown(_id) & _id, Excel.Destroy(_id));
+    Real _id := 0;
+    True
+  };
+
+  ////////////////////////////////////////////////////////////////////////////
+  Text _.autodoc.member.ActivateWS = "Activa la n-ésima hoja de cálculo";
+  Real ActivateWS(Text n)
+  ////////////////////////////////////////////////////////////////////////////
+  {
+    Excel.ActivateWS(_id, n)
+  };
+
+  ////////////////////////////////////////////////////////////////////////////
+  Text _.autodoc.member.ActivateNamedWS = "Activa hoja de cálculo con el "
+  "nombre especificado";
+  Real ActivateNamedWS(Text WorkSheet)
+  ////////////////////////////////////////////////////////////////////////////
+  {
+    Excel.ActivateNamedWS(_id, WorkSheet)
+  };
+
+  ////////////////////////////////////////////////////////////////////////////
+  Text _.autodoc.member.ReadCell = "Lee en la hoja de trabajo activa el "
+  "contenido de una celda de cualquiera de los tres tipos: Text, Date, Real";
+  Anything ReadCell(Real Row, Real Column)
+  ////////////////////////////////////////////////////////////////////////////
+  {
+    Excel.ReadCell(_id,Row,Column)
+  };
+
+  ////////////////////////////////////////////////////////////////////////////
+  Text _.autodoc.member.ReadText = "Lee en la hoja de trabajo activa el "
+  "contenido de una celda de tipo Text";
+  Text ReadText(Real Row, Real Column)
+  ////////////////////////////////////////////////////////////////////////////
+  {
+    Excel.ReadText(_id,Row,Column)
+  };
+  ////////////////////////////////////////////////////////////////////////////
+  Text _.autodoc.member.ReadDate = "Lee en la hoja de trabajo activa el "
+  "contenido de una celda de tipo Text";
+  Date ReadDate(Real Row, Real Column)
+  ////////////////////////////////////////////////////////////////////////////
+  {
+    Excel.ReadDate(_id,Row,Column)
+  };
+  ////////////////////////////////////////////////////////////////////////////
+  Text _.autodoc.member.ReadReal = "Lee en la hoja de trabajo activa el "
+  "contenido de una celda de tipo Real";
+  Real ReadReal(Real Row, Real Column)
+  ////////////////////////////////////////////////////////////////////////////
+  {
+    Excel.ReadReal(_id,Row,Column)
+  }
+
+};
Index: tol_pkg/ImportExport/ImportExport.tol
===================================================================
--- tol_pkg/ImportExport/ImportExport.tol	(revision cc43b8c7d591363a2d5b8ffc36ab8491f569f234)
+++ tol_pkg/ImportExport/ImportExport.tol	(revision cc43b8c7d591363a2d5b8ffc36ab8491f569f234)
@@ -0,0 +1,18 @@
+/* -*- mode: C++ -*- */
+//////////////////////////////////////////////////////////////////////////////
+// FILE   : ImportExport.tol
+// PURPOSE: Defines package ImportExport
+//////////////////////////////////////////////////////////////////////////////
+
+NameBlock ImportExport = [[
+
+Text _.autodoc.description = "Exporting data from TOL to others plattforms "
+"and importing from them to TOL.";
+Text _.autodoc.url = "";
+Set _.autodoc.keys = [["import","export","excel"]];
+Set _.autodoc.authors = [[
+   "vdebuen@tol-project.org"   ]];
+
+#Embed "Excel.tol"
+
+]];
Index: tol_pkg/ImportExport/test/test_0001/test.tol
===================================================================
--- tol_pkg/ImportExport/test/test_0001/test.tol	(revision cc43b8c7d591363a2d5b8ffc36ab8491f569f234)
+++ tol_pkg/ImportExport/test/test_0001/test.tol	(revision cc43b8c7d591363a2d5b8ffc36ab8491f569f234)
@@ -0,0 +1,50 @@
+/* -*- mode: C++ -*- */
+//////////////////////////////////////////////////////////////////////////////
+// FILE   : test.tol
+// PURPOSE: Package MatQuery test
+//////////////////////////////////////////////////////////////////////////////
+
+Text email_ = "vdebuen@tol-project.org"; 
+Text link_ = ""; 
+Text summary_ = "checking ImportExport::Excel";
+
+#Require ImportExport;
+
+//Write here the initial test TOL code if needed
+Real numErr0 = Copy(NError);
+Real numWar0 = Copy(NWarning);
+
+ImportExport::@Excel xls = ImportExport::@Excel::New("data.xls");
+
+Real xls::ActivateWS(1);
+
+Real row = 1;
+Text cell = "";
+While(cell=="",
+{
+  Text cell := xls::ReadText(row,3);
+  Real row := row+1
+});
+
+/*
+Real numErr1 = Copy(NError);
+Real numWar1 = Copy(NWarning);
+
+Set partialResults_ = [[numErr0, numErr1, 
+                        ok.1, ok.2]];
+
+//This is a messure of the success of the test 
+Real quality_ = And(numErr1 == numErr0, 
+                    numWar1 == numWar0, 
+                    ok.1, ok.2);
+
+//Return the results 
+Set resultStr_ = @strTestStatus(summary_, link_, quality_,
+                  "Partial results = "<<partialResults_,
+                  "NO DBServerType", "NO DBServerHost", "NO DBAlias",
+                  email_);
+WriteLn(""<<resultStr_);
+resultStr_;
+
+/* */
+
