C sharp - Ayuda con un problema

 
Vista:

Ayuda con un problema

Publicado por Fernando Frasco (3 intervenciones) el 24/09/2022 04:17:49
como puedo enviar los datos de un datagridview a un datetimepicker, uso una conexion de oledbdataadapter con excel, ya intente con varias formas

DataView ImportarDatos(string nombreArchivo)
{
string conexion = string.Format("Provider = Microsoft.ACE.OLEDB.12.0;Data Source = {0};Extended Properties = 'Excel 12.0'", nombreArchivo);
OleDbConnection conector = new OleDbConnection(conexion);
conector.Open();

OleDbCommand consulta = new OleDbCommand("select * from [Hoja2$]", conector);

OleDbDataAdapter adaptador = new OleDbDataAdapter
{
SelectCommand = consulta

};

DataSet ds = new DataSet();

adaptador.Fill(ds);

conector.Close();

return ds.Tables[0].DefaultView;
}
private void btnImportar_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog
{
Filter = "Excel | * .xls;*.xlsx;",
Title = "Seleccionar Archivo",

};

if (openFileDialog.ShowDialog() == DialogResult.OK)
{
dgvDatosPagos.DataSource = ImportarDatos(openFileDialog.FileName);
}
}



public void exportarDatos(DataGridView dgvListado)
{
Microsoft.Office.Interop.Excel.Application exportarExcel = new Microsoft.Office.Interop.Excel.Application();

exportarExcel.Application.Workbooks.Add(true);



int indiceColumna = 0;
foreach (DataGridViewColumn columna in dgvListado.Columns)
{
indiceColumna++;
exportarExcel.Cells[1, indiceColumna] = columna.Name;

}
int indicefila = 0;
foreach (DataGridViewRow fila in dgvListado.Rows)
{
indicefila++;
indiceColumna = 0;
foreach (DataGridViewColumn columna in dgvListado.Columns)
{
indiceColumna++;
exportarExcel.Cells[indicefila + 1, indiceColumna] = fila.Cells[columna.Name].Value;

}

}
exportarExcel.Visible = true;

}

private void btnExportar_Click(object sender, EventArgs e)
{
exportarDatos(dgvDatosPagos);
}



private void btnModificar_Click(object sender, EventArgs e)
{


if (dgvDatosPagos.SelectedRows.Count > 0)
{
/* DateTime dt = DateTime.ParseExact(dgvDatosPagos.CurrentCell.Value.ToString(), "short", CultureInfo.InvariantCulture);*/
/* dtFecha.Value = dt; */

tbPaciente.Text = dgvDatosPagos.CurrentRow.Cells[1].Value.ToString();
tbMedico.Text = dgvDatosPagos.CurrentRow.Cells[2].Value.ToString();
tbServicio.Text = dgvDatosPagos.CurrentRow.Cells[3].Value.ToString();
tbPrecio.Text = dgvDatosPagos.CurrentRow.Cells[4].Value.ToString();
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ayuda con un problema

Publicado por David (6 intervenciones) el 05/10/2022 16:59:06
prueba asi
asi lo hago yo en el evento click del datagridv
1
2
3
string vencimiento;
                vencimiento = DTGrid.Rows[e.RowIndex].Cells["FVencimiento"].Value.ToString();
                DtVencimiento.Text = vencimiento;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar