none
Interop office RRS feed

  • Pregunta

  • Buenos días

    Tengo una aplicación Visual net que manda información a plantillas excel y formulas.

    Lo tenia contra excel 2007 con el interope. El problema es que los clientes con Office 365 o superior les da error al pasarle formulas al excel.

    Los datos no me da problema al pasarlo, pero las formulas si

    Por ejemplo:Hoja1.Cells(Fila, 5).FormulaR1C1 = "=+FC(-1)/FC(-3)*100"

    L


    Aran

    lunes, 26 de octubre de 2020 10:24

Todas las respuestas

  • Hola  aticnet,

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te comparto el siguiente enlace que contiene un documento oficial con información sobre el caso que reportas 

      https://docs.microsoft.com/es-es/office/troubleshoot/excel/transfer-data-to-excel-from-vb

    Si pudieras poner el error completo que te da seria mas facil de ver que es lo que esta pasando.

    Gracias por usar los foros de MSDN. 

      

    Andres Aguilar 

     ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar  MSDNFSF@microsoft.com. 

    lunes, 26 de octubre de 2020 18:39
    Moderador
  • Deberias mencionar de que forma creas el excel si por el proveedor de excel o lo creas en segundo plano.

    Revisa este Link .

    Deberias usar la libreria Microsoft.Office.Interop.Excel.dll que viene dentro del Office 365 y el office 2007 sin embargo depende mucho de la complejidad de la formula aveces no es compatible.



    Si necesitas ayuda sube tu avance de otro modo no puedo ayudarte , Suerte!

    lunes, 2 de noviembre de 2020 5:28
  • el error que me da, es al pasar una fórmula (datos pasa bien)


    Aran

    lunes, 2 de noviembre de 2020 13:31
  • Puedes compartir como realizas la creacion de tus archivo y mediante un punto de interrupción y un bloque de excepción ver que parte del codigo da error.

    En versiones anteriores tambien se hacia referencia al office.dll 


    Si necesitas ayuda sube tu avance de otro modo no puedo ayudarte , Suerte!

    lunes, 2 de noviembre de 2020 18:03
  • mucha gracias

    adjunto codigo

    Imports Microsoft.Office.Interop.Excel
    ..
    Private Sub btnAceptar_Click
    'EXCEL
    Dim LibroExcel As New Microsoft.Office.Interop.Excel.Application
    Dim Libro As Microsoft.Office.Interop.Excel.Workbook
    Dim Hoja1 As Microsoft.Office.Interop.Excel.Worksheet
    
    Libro = LibroExcel.Workbooks.Add(Template:=ruta.Camino & "\PLANTILLAS\RESUMEN.xlt")
    
    'paso datos al EXCEL
    Hoja1.Cells(Fila, 2) = SumaAlbaranes
    Hoja1.Cells(Fila, 3) = TotalCosteMat
    
    …..
    'al pasar una fórmula es cuando FALLA
    Hoja1.Cells(Fila, 5).formulaR1C1 = "=+FC(-3)-FC(-2)-FC(-1)" 
    
    'DA EL ERROR QUE PUSE EN EL DIBUJO ADJUNTO ANTERIOR
    


    Aran

    martes, 3 de noviembre de 2020 11:44
  • he pegado el codigo en un mensaje anterior.

    son las formulas las que dan error al tener una version superior de office


    Aran

    martes, 3 de noviembre de 2020 11:45
  • buenos días

    sigo sin encontrar solución a como pasar las formulas si la version del office es 365 o sup.

    no se si el fallo esta en el fichero interop o la dll...

    me podrias ayudar por favor?


    Aran

    martes, 17 de noviembre de 2020 9:53
  • Hola, puedes usar librerías que permiten generar archivos Excel sin Interop. Xslx es un formato OpenXml. Ejemplo puedes usar EPPlus, o como tratar en C# con Excel en OpenXML y no morir con Interop. Capítulo 1

    Por ejemplo yo uso esta https://www.nuget.org/packages/EPPlus/


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    • Editado Sergio Parra martes, 17 de noviembre de 2020 20:30
    martes, 17 de noviembre de 2020 20:29