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 originalstring strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source=" + sFileName + ";" +
@"Extended Properties=" + '"' + "Excel 8.0;HDR=NO" + '"';
OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
oleConn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = oleConn;
cmd.CommandText = "UPDATE [Hoja1$C1:C1] SET F1 = '" + sMensaje.ToString().Trim() + "'";
cmd.ExecuteNonQuery();
nColumna = 0;
foreach (DataGridViewColumn columna in Grid.Columns)
{
foreach (DataGridViewRow renglon in Grid.Rows)
{
cmd.CommandText = "UPDATE [Hoja1$" + sData[nColumna] + "" + Informacion.ToString() + ":" + sData[nColumna] + "" + Informacion.ToString() + "] SET F1 ='" + Grid[columna.Index, renglon.Index].Value.ToString().Replace("'", "''") + "'";
cmd.ExecuteNonQuery();
Informacion++;
}
nColumna += 3;
Informacion = Global;
}
oleConn.Close();