martes, 10 de agosto de 2010

Exportar desde un DataGridView a Excel

En esta parte voy a mostrar como se pude pasar datos desde un DataGridView a Excel (esto con los Windows Forms).

Lo primero que se debe hacer es copiar lo que se encuentra en el siguiente archivo el cual incorporamos en una clase de nuestro proyecto: ExcelExport

Después de tener en el proyecto la clase ExcelExport se debe crear el Windows froms que nos permitara visualizar los datos en un DataGridView y posterior mente exportar a Excel...
NOTA: la clase ExcelExport puede exportar datos en CVS (formato separado por comas) o en Formato Excel 2003.

Voy a suponer que el Windows Form será el siguiente:He colocado dos RadioBoton ya que se podra podra escojer si el usuario lo desea exportar en formato CVS o Excel; Ahora el codigo que permite la exportación: este código va en el botón "Exportar a Excel"

Inicio Código
string mode = rCsv.Checked ? "CSV" : "XLS";
List conds =
new List();
libreria.ColumnConditions curr = null;

curr = new libreria.ColumnConditions();
curr.Column = 2;
curr.Cond = libreria.Conditon.CurrencyEuro;
conds.Add(curr);

curr = new libreria.ColumnConditions();
curr.Column = 3;
curr.Cond = libreria.Conditon.Percentage;
conds.Add(curr);

List rowConds = new List();
libreria.ColumnRowConditon row = new libreria.ColumnRowConditon();
row.Column = 1;
row.ConditionValue = "Total";
rowConds.Add(row);

try
{
libreria.GenericFormattedExcel2003Export gExp =
new libreria.GenericFormattedExcel2003Export(mode, dataGridView1, //nombre //del DataGridView donde se encuentran los datos a Exportar
libreria.Theme.ClassicGray, conds, rowConds, null);

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Fin del código
Nota: donde dice libreria es el nombre de la libreria donde se encuentra la clase ExcelExport

Espero que sea de ayuda, cualquier comentario lo respondere con gusto...