Tengo WPF DataGrid (VS2010 C#). Copié los datos de DataGrid en el Portapapeles y los escribí en un archivo de Excel. A continuación está mi código.Copie texto de WPF DataGrid en Portapapeles en Excel
dataGrid1.SelectAllCells();
dataGrid1.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader;
ApplicationCommands.Copy.Execute(null, dataGrid1);
dataGrid1.UnselectAllCells();
string path1 = "C:\\test.xls";
string result1 = (string)Clipboard.GetData(DataFormats.CommaSeparatedValue);
Clipboard.Clear();
System.IO.StreamWriter file1 = new System.IO.StreamWriter(path1);
file1.WriteLine(result1);
file1.Close();
Todo funciona bien, excepto al abrir el archivo de Excel que me da dos advertencia:
"El archivo que está intentando abrir 'test.xls' está en un formato diferente de lo especificado por la extensión de archivo. Verifique que el archivo no está dañado y es de una fuente confiable anterior al abriendo el archivo. ¿Desea abrir el archivo ahora? "
"Excel ha detectado que 'test.xls' es un archivo SYLK, pero no puede cargarlo."
Pero después de hacer clic a través de él, todavía se abre el archivo de Excel OK y los datos se formatean como debería. Pero no puedo encontrar la forma de deshacerme de las dos advertencias antes de que el archivo Excel esté abierto.
Creo que es porque el archivo no tiene la extensión correcta. –
Excel tiene una extensión de ".xls" ... ¿no es así? – KMC
Las hojas de cálculo de Excel son .xls. Pero Excel también puede abrir otros formatos de archivo, como un archivo de valores separados por comas (.csv) –