¿Cómo exportar datos de SQL SERVER a EXCEL en lenguaje C# y transferir datos en pequeños lotes?
{
cadena sqlconn = "servidor = 192.168. 0. 254; uid = sapwd = base de datos = metaCRM5 tamaño máximo del grupo = 512;" /p>
SqlConnection sqlCon = nueva SqlConnection(sqlconn);
sqlCon. open();
string conn = "Provider = Microsoft.Jet.OLEDB.4.0 DataSource = "pPath"; Propiedades extendidas = 'Excel 8.0HDR = False; IMEX = 1 '" //pPath It; es la dirección de EXCEL.
OleDbConnection oleCon = nueva conexión oledb(conn);
OleCon. open();
string Sql = "select * from[" filename "$]" //filename es el nombre de la tabla de Excel.
adaptador de datos oledb mi comando = nuevo adaptador de datos oledb(Sql, oleCon);
Dataset ds = nuevo DataSet()
Mi comando. Fill(ds,"[" nombre de archivo "$]");
Orecon. close();
Olecon. dispose();
Mi comando. dispose();
int query count = 0; //Cuenta el número de registros importados.
int recuento = ds. tablas["[" nombre de archivo " $]"]. recuento de filas;
for(int I = 0; i lt cuenta; i )
{
Cadena de nombre de usuario, hora de datos, intervalo de tiempo, inicio de sesión, cierre de sesión;
int IsLater, IsLost
nombre de usuario = cambiar nombre de usuario(ds . tablas["[" nombre de archivo " $ ]"] . Fila[i]["nombre"].ToString().trim());
hora de datos = ds tablas["[" nombre de archivo " $]"]. Línea [i]["fecha"]. ToString(). trim();
Ranuras de tiempo = ds tablas["[" nombre de archivo "$]"]. Línea [i] ["período de tiempo correspondiente"]. ToString(). trim();
iniciar sesión = ds tablas["[" nombre de archivo " $]"]. Línea [i] ["hora de check-in"]. ToString(). trim();
cerrar sesión = ds tablas["[" nombre de archivo " $]"]. Línea [i] ["Hora de pago"]. ToString(). trim();
I slater = el cambio es(ds . tablas["[" nombre de archivo " $]"].
filas [I] ["hora tardía"]. ToString(). trim());
se pierde = el cambio es(ds . tablas["[" nombre de archivo " $]"]. Fila[I] ["Ausentismo"]. ToString(). trim()) ;
cadena excelsql = "insertar en verificar trabajo(creado por, creado, Idowner, dchworkdata, stimeslot, ssignintime, ssignouttime, slate, sskipwork, sip) valor ('admin', getdate(),' " Nombre de usuario " ', ' " DataTime " ', ' " Intervalo de tiempo " ', ' " Iniciar sesión " ', ' " Cerrar sesión " ', ' " IsLater " ', ' IsLost " ', ' " sip " '
SqlCommand cmd = new SqlCommand(excelsql, sqlCon);
cmd. ExecuteNonQuery();
recuento de consultas = I 1;
cmd. p>
}
Respuesta. Write("registro "querycount "importado exitosamente");
sqlCon();
sqlCon.dispose() ;
}