EXPORTAR TABLA DE SQL SERVER A DOCUMENTO DE EXCEL
Hacer una consulta de SQL SERVER y exportar esa información en un archivo de EXCEL. Se utiliza un saveFileDialog para preguntar al usuario el directorio donde requiere almacenar el reporte.
se muestran 2 formas de bajara la tabla de SQL,
Referencia necesaria
Microsoft excel 14.0 Object Library
Microsoft ADO Ext. 6.0 for DDL AND Secruity
Microsoft Activex Data Objects 6.1 Library
El código es el siguiente.
using System;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.Data;
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;
namespace ResumenDeMacros
{
public class CONEXION
{
public bool CrearExcelNuevo()
{
string RutaCompleta =""; //@"D:\mi documento.xls";
string laConsulta = "select * from personas";
string textoCmd = laConsulta;
string data = null;
string ipServidor="10.188.xxx.xxx";
string elUsuario="miusuario";
string PWD="elpassword";
SqlConnection con = new SqlConnection();
// Preguntar donde guardar el documento exportado y asignarle un nombre
// Agregar primero un saveFileDialog al formulario
Stream myStream;
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "xls files (*.xls)|*.xls";
saveFileDialog1.FilterIndex = 2;
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog()==DialogResult.OK)
{
if ((myStream=saveFileDialog1.OpenFile())!=null)
{
RutaCompleta = saveFileDialog1.FileName;
myStream.Close();
}
else
{
MessageBox.Show("Descarga cancelada.");
return false;
}
}
else
{
MessageBox.Show("Descarga cancelada.");
return false;
}
// se abre conexion
con = new SqlConnection("data source=" + ipServidor + ";uid =" + elUsuario + "; PWD=" + elpw + "; initial catalog= BD_especial");
try
{
con.Open();
SqlCommand cmd = new SqlCommand(textoCmd, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//PARA LOS ENCABEZADOS
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
data = ds.Tables[0].Columns[i].ColumnName;
xlWorkSheet.Cells[1, i + 1] = data;
}
//PARA LOS RENGLONES
for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
for (int j = 0; j <= ds.Tables[0].Columns.Count - 1; j++)
{
data = ds.Tables[0].Rows[i].ItemArray[j].ToString();
xlWorkSheet.Cells[i + 2, j + 1] = data;
}
}
xlWorkBook.SaveAs(RutaCompleta, Excel.XlFileFormat.xlOpenXMLWorkbook, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
}
catch (Exception)
{
return false;
throw;
}
return true;
}
}
// Segunda opcion
void CrearExcelSqlServer()
{
//Referencia necesiarias de cargar
//Microsoft ADO Ext. 6.0 for DDL AND Secruity
//Microsoft eXCEL 14.0 Object Library
string RutaCompleta = ""; // = @"D:\mi documento.xls";
string laConsulta = "select * from bts";
string textoCmd = laConsulta;
string ipServidor = "10.xx.xx.xxx";
string elUsuario = "GIS";
string PWD = "GIS";
string catal = "BD_NEW";
string stringconeccion;
SqlConnection con = new SqlConnection();
DataTable dt = new DataTable();
ADODB.Recordset rs = new ADODB.Recordset();
ADODB.Connection cn;
// Preguntar donde guardar el documento exportado y asignarle un nombre
// Agregar primero un saveFileDialog al formulario
Stream myStream;
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "xls files (*.xls)|*.xls";
saveFileDialog1.FilterIndex = 2;
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = saveFileDialog1.OpenFile()) != null)
{
RutaCompleta = saveFileDialog1.FileName;
myStream.Close();
}
else
{
MessageBox.Show("Descarga cancelada.");
return;
}
}
else
{
MessageBox.Show("Descarga cancelada.");
return;
}
//iniciar la coneccion
stringconeccion = "Provider=SQLOLEDB.1; data source=" + ipServidor + ";User ID=" + elUsuario + "; PWD=" + PWD + "; Catalog=" + catal;
cn = new ADODB.Connection();
cn.Open(stringconeccion);
try
{
rs.Open(textoCmd, cn);
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//Copiar encabezados
for (int c = 0; c < rs.Fields.Count; c++)
{
xlWorkSheet.Cells[1, c + 1] = rs.Fields[c].Name;
}
//copiar renglones
xlWorkSheet.Range["A2"].CopyFromRecordset(rs);
//Guardar Documento
xlWorkBook.SaveAs(RutaCompleta, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
}
catch (Exception)
{
throw;
}
}
}
CREAR Y MODIFICAR UN ARCHIVO .TXT
MANEJO DE DIRECTORIOS Y ARCHIVOS
Comprimir y descomprimir archivos
Exportar tablas sql server a csv
Llenar LIST VIEW con tabla SQL SERVER
Crear una gráfica con tabla de SQL SERVER
Llamar un Web API MVC HttpClient
Llamar un Stored Procedure de SQL desde C#
Llamar un Stored Procedure de SQL desde C# para web api
Convertir JSON a Excel con Javascript
Convertir archivo JSON a listado objeto con C#
Servicio Get y POST en TypeScript y C#
Otros
Obtener divisas desde una página bancaria
Links the interes
Run dataset with SP and queries in C#
Llenar un DataSet al ejecutar un Stored Proc
C# Web API Sending Body Data in HTTP Post REST Client
Angular - HTTP POST Request Examples
Working with FormData in Angular 13
YouTube
Crear aplicación ANGULAR con API REST .NET 7 | ✅ Publicar en HOSTING✅