viernes, 11 de junio de 2010

Abrir archivo chm desde código C#

Para abrir directamente desde código C# un archivo chm por un apartado determinado de éste.


Help.ShowHelp(this,rutachm, HelpNavigator.KeywordIndex,Nombre);

rutachm = Ruta del archivo chm
Nombre = Nombre de la KeyWord del apartado por el que se quiere abrir la ayuda.

viernes, 4 de junio de 2010

Volcar un DataTable a Excel en C#

Suponemos que Excel y DataTable tienen las mismas columnas y en el mismo orden.

string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=" + rutaexcel + ";" + @"Extended Properties=" + '"' + "Excel 8.0;HDR=NO" + '"';

foreach (DataRow row in dtSQL.Rows)
{
row.SetAdded();
}

string sql = "SELECT * FROM [RANGO_DE_LA_EXCEL]";

OleDbDataAdapter da = new OleDbDataAdapter(sql, cnn);

OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
cb.QuotePrefix = "[";
cb.QuoteSuffix = "]";

da.InsertCommand = cb.GetInsertCommand();

// Devolverá el número de registros afectados.
int n = da.Update(dtSQL);

// Aceptamos los cambios
dtSQL.AcceptChanges();

martes, 1 de junio de 2010

Importación a Excel desde SQLServer en C#

Bueno una vez tuve que exportar datos desde el SQLServer a Excel y una de las formas que aprendí fue la siguiente; con una solo conexión y un SELECT INTO


string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=" + rutaexcel + ";" + @"Extended Properties=" + '"' + "Excel 8.0;HDR=NO" + '"';


OleDbConnection ConexExcel = new OleDbConnection(strConnnectionOle);
ConexExcel.Open();

string sql = "SELECT * INTO [Hoja1] FROM TABLA_SQL "
+ "IN '' [ODBC;DRIVER={SQL Server};"
+ @"Server=SERVIDOR_SQL;"
+ "Database=BD_SQL;"
+ "UID=USUARIO_SQL;"
+ "PWD=PASSWORD_SQL]";
OleDbCommand cmd = new OleDbCommand(sql, ConexExcel);
cmd.CommandType = CommandType.TableDirect;
int a = cmd.ExecuteNonQuery();

ConexExcel.Close();