Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/11/2012, 10:59
Avatar de drako_darpan
drako_darpan
 
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 16 años, 1 mes
Puntos: 58
Respuesta: System.Diagnostics.Process y Office 2010

Hola que tal, bueno este problema se me a presentado ami cuando exporto utilizando alguna utileria para exportarlo.

Lo que ocurres es que se quiere abrir, pero la aplicacion que esta abierta es la que controla a la nueva, la razon aun no la encuentro , e investigado como evitar esto, pero aun no encuentro como hacerlo

Yo lo que hago es grabar el grid en un Excel por medio de actualizacion de celdas ( UPDATE )

Un pequeño ejemplo:

Código C#:
Ver original
  1. string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
  2.                             @"Data Source=" + sFileName + ";" +
  3.                             @"Extended Properties=" + '"' + "Excel 8.0;HDR=NO" + '"';
  4.                             OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
  5.                             oleConn.Open();
  6.  
  7.                             OleDbCommand cmd = new OleDbCommand();
  8.                             cmd.Connection = oleConn;
  9.  
  10.                             cmd.CommandText = "UPDATE [Hoja1$C1:C1] SET F1 = '" + sMensaje.ToString().Trim() + "'";
  11.                             cmd.ExecuteNonQuery();
  12.  
  13.                             nColumna = 0;
  14.                             foreach (DataGridViewColumn columna in Grid.Columns)
  15.                             {
  16.                                 foreach (DataGridViewRow renglon in Grid.Rows)
  17.                                 {
  18.                                     cmd.CommandText = "UPDATE [Hoja1$" + sData[nColumna] + "" + Informacion.ToString() + ":" + sData[nColumna] + "" + Informacion.ToString() + "] SET F1 ='" + Grid[columna.Index, renglon.Index].Value.ToString().Replace("'", "''") + "'";
  19.                                     cmd.ExecuteNonQuery();
  20.                                     Informacion++;
  21.                                 }
  22.  
  23.                                 nColumna += 3;
  24.                                 Informacion = Global;
  25.                             }
  26.  
  27.                             oleConn.Close();