Ver Mensaje Individual
  #2  
Antiguo 06-07-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
steelha,

Cita:
Empezado por steelha
..he tratado de buscar como eliminar una fila de un archivo en excel desde Delphi...sin ningún resultado...
Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComObj;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
   xlOpenXMLWorkbook =  51; // Open XML Workbook Format

var
   Excel, WrkS : Variant;
   FileExcel : String;
   i : Integer;

begin

   FileExcel := ExtractFilePath(Application.ExeName) + 'TestExcel.xlsx';

   try

      // Crea una instancia de Automatización de Excel
      Excel := CreateOleObject('Excel.Application');

      // Configura parámetros de ejecución de Excel
      Excel.DisplayAlerts := False;
      Excel.Visible := False;

      // Abre el libro de Excel referenciado en el String FileExcel
      Excel.Workbooks.Open(FileExcel);

      // Asigna la primera hoja de cálculo del libro de Excel a WrkS
      WrkS := Excel.Worksheets[1];

      // Borra toda la información previa en WrkS
      WrkS.Cells.ClearContents;

      // Adiciona 25 filas de información a WrkS (Filas 1 a 25, Columnas A, B y C)
      for i := 1 to 25 do
      begin
         WrkS.Cells[i, 1].Value := i;
         WrkS.Cells[i, 2].Value := 'Item-'+IntToStr(i);
         WrkS.Cells[i, 3].Value := 'Description-'+IntToStr(i);
      end;

      // Borra las filas 21 a la 25 en WrkS
      for i := 25 downto 21 do
         WrkS.Rows[i].Delete;
  
      // Borra un rango de filas en WrkS (Filas 1 a la 6, Columnas A, B y C)
      WrkS.Range['A1:C6'].EntireRow.Delete(EmptyParam);

      // Asigna valores al rango A2:C2 (Fila 2, Columnas A,B y C)
      WrkS.Range['A2:C2'].Value := 777;

      // Salva WrkS
      WrkS.SaveAs(FileExcel,xlOpenXMLWorkbook);

   finally

      // Finaliza la automatización de Excel y libera recursos
      Excel.Quit;
      Excel := Unassigned;
      WrkS := Unassigned;

   end;

end;

end.
El código anterior es un ejemplo de manipulación de datos por medio de Automatización en Excel con Delphi 7 y Excel 2010.

Te sugiero consultar esta información:
Cita:
Delphi and Microsoft Office Automating Excel and Word : http://edn.embarcadero.com/article/10126
Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 06-07-2013 a las 07:18:07.
Responder Con Cita