hace poco tuve que realizar un programa que abriera un archivo en excel y eliminara la primera fila y las ultimas, busque busque y no busque dicen los yucas, despues de mucho puede hacerlo, pongo el codigo por si a alguien le sirve
// primero selecciono el archivo en un openfiledialog
OpenFileDialog openFileDialog1 = new OpenFileDialog();
DialogResult result = openFileDialog1.ShowDialog();
openFileDialog1.InitialDirectory = "c:\\";
openFileDialog1.Filter = "excel files (*.xlsx)|*.xlsx|All files (*.*)|*.*";
openFileDialog1.FilterIndex = 1;
openFileDialog1.RestoreDirectory = true;
if (result == DialogResult.OK)
{
string archivo = openFileDialog1.FileName;
try
{
//inicializa la instancia de la aplicacion
Excel.Application nex = new Excel.Application();
nex.Visible = true;
rutaexcel.Text = archivo.ToString();
string workbookpath = archivo.ToString();
Excel.Workbook excelWorkbook = null;
try
{
// si se encontro abrir
excelWorkbook = nex.Workbooks.Open(workbookpath, 0,
false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
//obtienes la coleccion de hojas
Excel.Sheets excelhojas = excelWorkbook.Worksheets;
//obtienes la hoja a editar y el rngo a eliminar
string hoja_activa = "Balanza de Comprobación";
string rango = "A1";
Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelhojas.get_Item(hoja_activa);
Excel.Range rangok = (Excel.Range)excelWorksheet.get_Range(rango);
rangok.Select();
//ir al final de los datos
rangok.Application.Selection.End(Excel.XlDirection.xlDown).Select();
// bajar una celda del ultimo dato y borrar las siguientes 50 lineas
int f;
for(f=1; f<=50;f++)
{
Excel.Range R = excelWorkbook.Application.ActiveCell as Excel.Range;
Excel.Range activaterange = (Excel.Range)R.Offset[1, 0];
activaterange.EntireRow.Delete();
R.Select();
}
}
catch
{
}
}
catch (IOException)
{
}
}
espero les sirva
No hay comentarios:
Publicar un comentario