![]() |
Error al crear archivo de excel con delphi
Creo un archivo de excel con el siguiente código:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Excel97, 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); var Excel: OleVariant; Libro: OleVariant; Hoja: OleVariant; begin Excel := ComObj.CreateOleObject('Excel.Application'); Libro := Excel.WorkBooks.Add; Hoja := Libro.ActiveSheet; Hoja.Cells[1, 1] := 'PRUEBA'; Libro.SaveAs('c:\prueba.xls'); Excel.Quit; end; end. Al querer abrir el office 2007 me da un error: El archivo que intenta abrir "prueba.xls", tiene otro formato que el especificado por la extensión de archivo. Compruebe que el archivo no este dañado y procede de un origen de confianza antes de abrirlo. ¿Desea abrir el archivo ahora? Lo abro y lo veo bien, pero en el office 2003 lo abro y pone codigo no legible. Y lo necesito abrir en el office 2003. Como lo puedo resolver? Muchas Gracias! Saludos! |
No uses Excel97 ni OleVariant
Yo no uso la libreria Excel97, sólo la comobj.
Y no defino las variables como OleVariant sino simplemente como Variant y me funciona perfectamente. Prueba a hacer lo mismo... ;) |
Hola LuisDevis!
Muchas Gracias por ayudarme. Fíjate que lo hice de la siguiente manera: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, comObj, StdCtrls; 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); var Excel: Variant; Libro: Variant; Hoja: Variant; begin Excel := ComObj.CreateOleObject('Excel.Application'); Libro := Excel.WorkBooks.Add; Hoja := Libro.ActiveSheet; Hoja.Cells[1, 1] := 'PRUEBA'; Libro.SaveAs('c:\prueba.xls'); Excel.Quit; end; end. Y aún con esto me sigue marcando lo mismo...no se que pasa? |
La franja horaria es GMT +2. Ahora son las 07:06:27. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi