Witam wszystkich.
Czytałem posty z tego forum, przeglądałem google, a jednak coś umknęło mojej uwadze.
Sprawa jest taka, że chce zapisać coś do pliku Excela czyli do XLS, ale...:

  1. Nie mam zainstalowanego MS Ofica tylko OpenOfica
  2. Potrzebuje użyć do tego ADO lub cos podobnego
  3. CVS odpada

mam coś takiego:

var
  strNazwaPliku : string;
  i : integer;
begin
  strNazwaPliku := 'Meldugn_test.xls';
  try
    CopyFile( PChar( 'c:\Meldung_test_got.xls' ) , PChar( 'c:\' + strNazwaPliku ), false );
    AdoConnection.Close;
    AdoConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";' +
                                    'Data Source=' + 'c:\' + strNazwaPliku + ';' + //OpenDialog.FileName +
                                    'Extended Properties=Excel 8.0;';
    ADOCommand1.Connection := ADOConnection;
    AdoConnection.Open;


       ADOCommand1.CommandText := 'Insert Into [Sheet1$] (A1) VALUES (' + 'cosik' + ')';
       ADOCommand1.Execute;


    ADOConnection.Close;
  except
    ADOConnection.Close;
    ShowMessage( 'Błąd' );
  end;

Jak widać chciałbym zapisać coś w komórce A1 <- lub jakiejkolwiek innej np.: H100.
Mam w tej chwili komunikat "Parametr cosik nie posiada wartości domyślnej" <- nie ważne co wstawie pod cosik zawsze mam błąd o braku wartości domyślnej.
Jeśli ktoś mógłby mnie nakierować i pomóc byłbym wdzięczny.

ps.: Próbowałem także AdoDataSet.FieldByName[ 'A1' ].AsString := 'cosik' <- ale zwracał błd że Komórka A1 nie istnieje. Plik do którego się łącze istneje i ma jedną zakładkę Sheet1.
Próbowałem także zmieniać wartości w excelu na innym kompie i potem operować na tym pliku. Odczyt idzie bezz problemu, ale nawet jeśli komórka istniała i miała jakąś wartość to AdoDataSet daje błąd o braku komórk, a AdoCommand o braku wartości domyślnej.
Aktualnie grzebie jeszcze w zasobach google i grup dyskusyjnych, ale nic nie mogę znaleźć konkretnego co by mi pomogło.

Z góry dziękuje za pomoc.

Pozdrawiam