none
Problemas en SharePoint 2007: Value does not fall within the expected range. RRS feed

  • Pregunta

  • Hola a toda la comunidad.

    Chicos estoy desarrollando un portal  en MOSS 2007, y para darle solución a un requerimiento del cliente tuve que implementar una webpart para interactuar con archivos excel de los cuales debo leer información y subir a una lista Sharepoint, hasta ayer todo funcionaba a la perfección en mi servidor de desarrollo pero cuando subo el portal al servidor de producción, cuando intento cargar los datos del excel mediante la webpart me sale el siguiente error :

    Value does not fall within the expected range

    He googleado un poco pero no encuentro nada preciso que me ayude a resolver el problema .. Alguien tiene alguna idea de porque ocurre esto ?

    Desde ya muchas gracias por su tiempo.

    Saludos

    Chris.



     

     


    Christina Torres
    martes, 17 de enero de 2012 14:09

Respuestas

  • Hola a todos ..

    Despues de muchos días tratando de resolver el mencionado error, felizmente encontre el problema y lo solucione, lo que sucedia era que me estaba faltando crear el campo fecha en la lista y por tanto a la hora de subir la información saltaba el error pues el rango de valores que se enviaba no se correspondia con el rango que se esperaba ... Así que ya saben todos si un día les ocurre favor revisen bien sus listas..

    Muchas gracias a todos los que contribuyeron ..

    Saludos

     

    Chris

     

     


    Christina Torres
    viernes, 20 de enero de 2012 19:10

Todas las respuestas

  • Hola Santiago,

    Muchas gracias por la info que me has pasado,mira este es mi código para leer los datos del excel y llenar la lista, pero la verdad no se donde tendría que hacer los cambios, echale un vistazo y dime que piensas:

    private void llenar_grid(){
               


              
                /*conexion al excel*/

                if (file.HasFile)
                {

    file.SaveAs(Path.Combine(@"C:\\Guardar\\", Path.GetFileName(file.FileName)));

                    string ruta = @"C:\\Guardar\\" + file.FileName;

    string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ruta + ";Extended Properties='Excel 8.0'";

    DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");

                    DbDataAdapter adapter = factory.CreateDataAdapter();

                    DbCommand selectCommand = factory.CreateCommand();

                    selectCommand.CommandText = "SELECT * FROM [Consumo$]";

                    DbConnection connection = factory.CreateConnection();

                    connection.ConnectionString = connectionString;

                    selectCommand.Connection = connection;

                    adapter.SelectCommand = selectCommand;

                    System.Data.DataTable tabla = new System.Data.DataTable();

                    adapter.Fill(tabla);


                    //SharePoint - llenar la lista

                    SPSite miSitio = new SPSite(SPContext.Current.Site.ID);

                    SPWeb miWeb = miSitio.OpenWeb(SPContext.Current.Web.ID);

                    SPList miLista = miWeb.Lists["Precios"];

                    //Lee tabla y agrega


                    fecha_actual = System.DateTime.Now;

                    foreach (DataRow miDataRoW in tabla.Rows)
                    {
                        miListaItem = miLista.Items.Add();
                        miListaItem["Fecha"] = fecha_actual.ToShortDateString();
                        miListaItem["Indicador"] = miDataRoW[0];
                        miListaItem["Cons.Plan"] = miDataRoW[1];
                        miListaItem["Cons.Real"] = miDataRoW[2];
                        miListaItem["Plan_Recal"] = miDataRoW[3];
                        miListaItem["Norma"] = miDataRoW[4];
                        miListaItem["Indice"] = miDataRoW[5];
                        miListaItem["Exceso(Ahorro)"] = miDataRoW[6];
                        miListaItem["Prod.Real"] = miDataRoW[7];
                        miListaItem["Prod.Plan"] = miDataRoW[8];
                        miListaItem.Update();

                    }




                }
                else
                {

                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clave", "alert('Error! No se ha seleccionado ningun archivo !');", true);

                }
                      
                         
            }

    Saludos.

     


    Christina Torres
    martes, 17 de enero de 2012 15:12
  • Así a pronta vista... desde el servidor se tiene acceso a la ruta c:\Guardar\...??? O es una ruta local de tu equipo?
    "En los momentos de crisis, sólo la imaginación es más importante que el conocimiento"
    martes, 17 de enero de 2012 15:18
    Moderador
  • Si si tiene acceso, actualmente el esta guardando los archivos correctamente en el servidor en esa carpeta Guardar por eso es que menos encuentro el error, pues aparentemente el funcionamiento es correcto..hasta que aparece el error ..
    Christina Torres
    martes, 17 de enero de 2012 15:26
  • Lo único que se me ocurre es que compruebes que la lista existe (Debería porque el error no es ese) y que esté cogiendo el tipo de contenido correcto con los campos (y sus tipos) correctos.


    "En los momentos de crisis, sólo la imaginación es más importante que el conocimiento"
    • Propuesto como respuesta Marcos Turrós viernes, 20 de enero de 2012 19:30
    martes, 17 de enero de 2012 15:37
    Moderador
  • Yo te recomendaría que reemplaces

    SPSite miSitio = new SPSite(SPContext.Current.Site.ID);

    SPWeb miWeb = miSitio.OpenWeb(SPContext.Current.Web.ID);

    Por esto:

    using (SPSite siteCollection = new SPSite(SPContext.Current.Web.Url))
        {
            using (SPWeb web = siteCollection.OpenWeb())
            {
            //Ejecutar acciones
            } 
        }

    Creo que el error se encuentra aquí:

    SPWeb miWeb = miSitio.OpenWeb(SPContext.Current.Web.ID);

    En todo caso puedes hacerlo de la siguiente forma:

    SPWeb miWeb = SPContext.Current.Web;

    Pruébalo y nos cuentas!


    Marcos Alan Turrós - Microsoft Certified Technology Specialist
    viernes, 20 de enero de 2012 18:35
  • Hola a todos ..

    Despues de muchos días tratando de resolver el mencionado error, felizmente encontre el problema y lo solucione, lo que sucedia era que me estaba faltando crear el campo fecha en la lista y por tanto a la hora de subir la información saltaba el error pues el rango de valores que se enviaba no se correspondia con el rango que se esperaba ... Así que ya saben todos si un día les ocurre favor revisen bien sus listas..

    Muchas gracias a todos los que contribuyeron ..

    Saludos

     

    Chris

     

     


    Christina Torres
    viernes, 20 de enero de 2012 19:10