Crear y excel y abrirlo

18/07/2006 - 17:52 por Isabel | Informe spam
Hola a todos tengo una pregunta yo estoy usando VS 2003 y necesito
exportar un data set a excel y abrir el excel
yo se que con esta instruccion DataGridExcelExporte pruedo hacer lo que
necesito pero yo no quiero pasar por el cuadro de dialogo en que pregunta si
desea guardar sino abrir el archivo de una vez ... es esto posible? ...

Preguntas similare

Leer las respuestas

#1 Luis Miguel Blanco
19/07/2006 - 07:26 | Informe spam
Hola Isabel

Con el siguiente bloque de código se crea un dataset, y posteriormente, un
nuevo archivo de Excel vacío que rellenamos recorriendo las filas del dataset.

//--
using System.Data.SqlClient;
using Excel;
//

private void button1_Click(object sender, System.EventArgs e)
{
SqlConnection oConexion = new SqlConnection();
oConexion.ConnectionString = "Integrated Security=SSPI;Persist Security
Info=False;" +
"Data Source=localhost;Initial Catalog=Northwind";

SqlCommand oComando = new SqlCommand();
oComando.Connection = oConexion;
oComando.CommandType = CommandType.Text;
oComando.CommandText = "SELECT EmployeeID, (FirstName + ' ' + LastName) AS
Nombre FROM Employees";

SqlDataAdapter oAdaptador = new SqlDataAdapter();
oAdaptador.SelectCommand = oComando;

DataSet oDataSet = new DataSet();
oConexion.Open();
oAdaptador.Fill(oDataSet, "Employees");
oConexion.Close();

Excel.Application oExcel = new Excel.Application();
oExcel.Visible = true;
oExcel.WindowState = Excel.XlWindowState.xlNormal;
Excel.Workbooks oWBooks = (Excel.Workbooks)oExcel.Workbooks;
Excel._Workbook oWBook =
(Excel._Workbook)(oWBooks.Add(XlWBATemplate.xlWBATWorksheet));

Excel.Sheets oSheets = (Excel.Sheets)oWBook.Worksheets;
Excel._Worksheet oWSheet = (Excel._Worksheet)(oSheets.get_Item(1));

int nContador = 0;
foreach (DataRow oRow in oDataSet.Tables["Employees"].Rows)
{
nContador++;
Excel.Range oRange = oWSheet.get_Range("A" + nContador, "A" + nContador);
oRange.Value2 = oRow["Nombre"];
}
}
//--

Espero que te sea de utilidad.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Isabel" wrote:

Hola a todos tengo una pregunta yo estoy usando VS 2003 y necesito
exportar un data set a excel y abrir el excel
yo se que con esta instruccion DataGridExcelExporte pruedo hacer lo que
necesito pero yo no quiero pasar por el cuadro de dialogo en que pregunta si
desea guardar sino abrir el archivo de una vez ... es esto posible? ...
Respuesta Responder a este mensaje
#2 Isabel
19/07/2006 - 15:10 | Informe spam
Hola Luis ... tengo una consulta ... no tengo errores de compilacion pero me
dice envia error de acceso denegado? como puedo absorber esto?

"Luis Miguel Blanco" escribió:

Hola Isabel

Con el siguiente bloque de código se crea un dataset, y posteriormente, un
nuevo archivo de Excel vacío que rellenamos recorriendo las filas del dataset.

//--
using System.Data.SqlClient;
using Excel;
//

private void button1_Click(object sender, System.EventArgs e)
{
SqlConnection oConexion = new SqlConnection();
oConexion.ConnectionString = "Integrated Security=SSPI;Persist Security
Info=False;" +
"Data Source=localhost;Initial Catalog=Northwind";

SqlCommand oComando = new SqlCommand();
oComando.Connection = oConexion;
oComando.CommandType = CommandType.Text;
oComando.CommandText = "SELECT EmployeeID, (FirstName + ' ' + LastName) AS
Nombre FROM Employees";

SqlDataAdapter oAdaptador = new SqlDataAdapter();
oAdaptador.SelectCommand = oComando;

DataSet oDataSet = new DataSet();
oConexion.Open();
oAdaptador.Fill(oDataSet, "Employees");
oConexion.Close();

Excel.Application oExcel = new Excel.Application();
oExcel.Visible = true;
oExcel.WindowState = Excel.XlWindowState.xlNormal;
Excel.Workbooks oWBooks = (Excel.Workbooks)oExcel.Workbooks;
Excel._Workbook oWBook =
(Excel._Workbook)(oWBooks.Add(XlWBATemplate.xlWBATWorksheet));

Excel.Sheets oSheets = (Excel.Sheets)oWBook.Worksheets;
Excel._Worksheet oWSheet = (Excel._Worksheet)(oSheets.get_Item(1));

int nContador = 0;
foreach (DataRow oRow in oDataSet.Tables["Employees"].Rows)
{
nContador++;
Excel.Range oRange = oWSheet.get_Range("A" + nContador, "A" + nContador);
oRange.Value2 = oRow["Nombre"];
}
}
//--

Espero que te sea de utilidad.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Isabel" wrote:

> Hola a todos tengo una pregunta yo estoy usando VS 2003 y necesito
> exportar un data set a excel y abrir el excel
> yo se que con esta instruccion DataGridExcelExporte pruedo hacer lo que
> necesito pero yo no quiero pasar por el cuadro de dialogo en que pregunta si
> desea guardar sino abrir el archivo de una vez ... es esto posible? ...
Respuesta Responder a este mensaje
#3 Luis Miguel Blanco
19/07/2006 - 18:53 | Informe spam
Hola Isabel

Puede que sea un problema de la configuración de seguridad de las macros de
Excel. Prueba desde Excel a seleccionar la opción de menú "Herramientas >
Macro > Seguridad" y en la ventana que te muestra, selecciona el nivel Bajo,
aceptas la ventana y pruebas de nuevo a intentar ejecutar tu código.

Espero que con esto te funcione
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Isabel" wrote:

Hola Luis ... tengo una consulta ... no tengo errores de compilacion pero me
dice envia error de acceso denegado? como puedo absorber esto?

"Luis Miguel Blanco" escribió:

> Hola Isabel
>
> Con el siguiente bloque de código se crea un dataset, y posteriormente, un
> nuevo archivo de Excel vacío que rellenamos recorriendo las filas del dataset.
>
> //--
> using System.Data.SqlClient;
> using Excel;
> //
>
> private void button1_Click(object sender, System.EventArgs e)
> {
> SqlConnection oConexion = new SqlConnection();
> oConexion.ConnectionString = "Integrated Security=SSPI;Persist Security
> Info=False;" +
> "Data Source=localhost;Initial Catalog=Northwind";
>
> SqlCommand oComando = new SqlCommand();
> oComando.Connection = oConexion;
> oComando.CommandType = CommandType.Text;
> oComando.CommandText = "SELECT EmployeeID, (FirstName + ' ' + LastName) AS
> Nombre FROM Employees";
>
> SqlDataAdapter oAdaptador = new SqlDataAdapter();
> oAdaptador.SelectCommand = oComando;
>
> DataSet oDataSet = new DataSet();
> oConexion.Open();
> oAdaptador.Fill(oDataSet, "Employees");
> oConexion.Close();
>
> Excel.Application oExcel = new Excel.Application();
> oExcel.Visible = true;
> oExcel.WindowState = Excel.XlWindowState.xlNormal;
> Excel.Workbooks oWBooks = (Excel.Workbooks)oExcel.Workbooks;
> Excel._Workbook oWBook =
> (Excel._Workbook)(oWBooks.Add(XlWBATemplate.xlWBATWorksheet));
>
> Excel.Sheets oSheets = (Excel.Sheets)oWBook.Worksheets;
> Excel._Worksheet oWSheet = (Excel._Worksheet)(oSheets.get_Item(1));
>
> int nContador = 0;
> foreach (DataRow oRow in oDataSet.Tables["Employees"].Rows)
> {
> nContador++;
> Excel.Range oRange = oWSheet.get_Range("A" + nContador, "A" + nContador);
> oRange.Value2 = oRow["Nombre"];
> }
> }
> //--
>
> Espero que te sea de utilidad.
> Un saludo
> Luis Miguel Blanco
> http://www.dotnetmania.com
>
>
> "Isabel" wrote:
>
> > Hola a todos tengo una pregunta yo estoy usando VS 2003 y necesito
> > exportar un data set a excel y abrir el excel
> > yo se que con esta instruccion DataGridExcelExporte pruedo hacer lo que
> > necesito pero yo no quiero pasar por el cuadro de dialogo en que pregunta si
> > desea guardar sino abrir el archivo de una vez ... es esto posible? ...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida