2011-02-23 31 views
8

Buenos días,Copia de excepción críptica/pegar desde DataGridView en Excel 2002

Ejecutando Visual Studio 2008 (C# 3.5). DataGridView se carga manualmente (no enlazado a datos). Copiar/pegar en el Bloc de notas/Wordpad funciona bien, pero cuando trato de copiar/pegar en Excel consigo este raro Excepción:

Invalid FORMATETC structure (Exception from HRESULT: 0x80040064 (DV_E_FORMATETC))

Esto estaba trabajando hasta el pasado viernes. Estoy completamente perplejo. Estoy bastante seguro de que esto funcionó en el pasado. Intenté reiniciar, volver a agregar el control DataGridView. Cualquier ayuda muy apreciada.

Saludos, -Alan.

+0

¿Está utilizando el procedimiento de copia predeterminado o creó uno personalizado? –

+0

También está abriendo Excel a mano (abrir Excel y luego presionar Pegar) o está usando interoperabilidad para crear una instancia de Excel? –

+2

Parece ser un error informado: http://connect.microsoft.com/VisualStudio/feedback/details/97153/unhandled-comexception-invalid-formatetc y http://connect.microsoft.com/VisualStudio/feedback/ detalles/97153/unhandled-comexception-invalid-formatetC# Hay un comentario que podría ayudar: Herramientas >> Opciones >> Depuración >> "Tratar excepciones que cruzan límites de appdominio o límites administrados/no administrados como no controlados" –

Respuesta

0

Mi sugerencia sería utilizar ctrl + v para pegar en Excel, hacer clic con el botón derecho y seleccionar pegar especial y elegir el formato del texto. Parece que hay un tipo diferente de codificación al copiar los contenidos en el portapapeles (ctrl + c) . Hay otras opciones disponibles para pegar si hace clic con el botón derecho del mouse en lugar de usar la combinación de teclas (ctrl + p) . Esperemos que esto te ayude -Pat

+0

intenté estos. Sin efecto:/ – CoolStraw

1

Quizás algunos de tus datos sean interpretados por Excel como una fórmula (como 5/0).

Primero puede probar la sugerencia de Pat (¡es más fácil!).

Además, intente pegar el texto en el Bloc de notas primero, copiar todo desde el Bloc de notas y pegarlo en Excel.

Si sigues recibiendo los errores, intenta pegar la primera mitad del texto en el Bloc de notas. Si eso tiene éxito, pega la segunda mitad. La clave es tratar de delimitar qué cadena de texto está causando que Excel se quede con Barf.

1

En lugar de llamar al Clipboard.SetDataObject(dataObject), intente esto: Clipboard.SetDataObject(dataObject, true);. El parámetro 'verdadero' le dice al Portapapeles que tome una copia del objeto de datos. Funcionó para mí

+0

Esto funcionó para mí en VS 2015 – wrtsvkrfm

Cuestiones relacionadas