none
No puedo guardar un archivo de Excel que trasladé a otra máquina, saben cómo lo arreglo?

    Pregunta

  • En la máquina que lo cree sí guarda bien, pero en la otra máquina no me deja guardarlo, me sale este error, ¿saben cómo hago para poder guardarlo?

    martes, 9 de abril de 2019 5:03

Respuestas

  • Lo de la "infracción de uso compartido" se refiere a que el fichero está en uso en ese momento. Mira a ver si hay algún otro programa que lo tiene abierto en el momento en que intentas guardarlo. Piensa que el otro programa puede no ser obvio y no verse en pantalla, por ejemplo, puede ser un antivirus que lo está escaneando en ese momento. No digo que sea eso, es solo un ejemplo para ilustrar que el fichero podría estar abierto por otro programa sin que se vea a simple vista cuál es ese otro programa.
    • Marcado como respuesta James2016-2 miércoles, 10 de abril de 2019 5:11
    martes, 9 de abril de 2019 5:52

Todas las respuestas

  • Lo de la "infracción de uso compartido" se refiere a que el fichero está en uso en ese momento. Mira a ver si hay algún otro programa que lo tiene abierto en el momento en que intentas guardarlo. Piensa que el otro programa puede no ser obvio y no verse en pantalla, por ejemplo, puede ser un antivirus que lo está escaneando en ese momento. No digo que sea eso, es solo un ejemplo para ilustrar que el fichero podría estar abierto por otro programa sin que se vea a simple vista cuál es ese otro programa.
    • Marcado como respuesta James2016-2 miércoles, 10 de abril de 2019 5:11
    martes, 9 de abril de 2019 5:52
  • Hola, yo tengo un ejemplo de codigo con Interop que funciona de lo mejor, para Word y Excel, te mandare el de Excel

    tienes que primero añadir las referencias y luego los using

    using Microsoft.Office.Interop.Word;
    using Microsoft.Office.Interop.Excel;

    ............................

    //creando el libro de trabajo

     Microsoft.Office.Interop.Excel.Application aplicacion;
                    Workbook libros_trabajo;
                    Worksheet hoja_trabajo;
                    aplicacion = new Microsoft.Office.Interop.Excel.Application();
                    libros_trabajo = aplicacion.Workbooks.Add();
                    hoja_trabajo = (Worksheet) libros_trabajo.Worksheets.get_Item(1);

    //aqui va el codigo de lo que deseas guardar en ese libro de excel..por ejemplo, yo recorro un dataGridView y escribo en la hoja de excel lo que necesito..solo debes adaptarlo a lo que quieres

    for (var i = 0; i < dataGridView1.Rows.Count - 1; i++)
                    {
                        for (var j = 0; j < dataGridView1.Columns.Count; j++)
                        {
                            hoja_trabajo.Cells[i + 1, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
                        }
                    }

    //por ultimo, guardo el archivo

    saveFileDialog1.Filter = "Excel (*.xls))|*.xls";
                    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        libros_trabajo.SaveAs(saveFileDialog1.FileName, XlFileFormat.xlWorkbookNormal);
                        libros_trabajo.Close(true);
                        aplicacion.Quit();
                        MessageBox.Show("El archivo ha sido guardado correctamente", "Información", MessageBoxButtons.OK,
                                        MessageBoxIcon.Information);
                    }

    espero te sirva...si te sirve, no te olvides de proponerlo y marcarlo como respuesta

    saludos

    martes, 9 de abril de 2019 13:07
  • Aunque no es lo que preguntaba, gracias de todos modos.
    miércoles, 10 de abril de 2019 5:11