AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Excel formatieren!

Ein Thema von thiagojonas · begonnen am 23. Sep 2008 · letzter Beitrag vom 24. Sep 2008
Antwort Antwort
thiagojonas

Registriert seit: 31. Aug 2008
Ort: Wolfenbüttel
338 Beiträge
 
#1

Excel formatieren!

  Alt 23. Sep 2008, 17:43
Hallo mit diesem Code Exportieren ich die Daten einer StrinGrid in .xls!

Delphi-Quellcode:
uses
  ComObj;

function RefToCell(ARow, ACol: Integer): string;
begin
  Result := Chr(Ord('A') + ACol - 1) + IntToStr(ARow);
end;

function SaveAsExcelFile(AGrid: TStringGrid; ASheetName, AFileName: string): Boolean;
const
  xlWBATWorksheet = -4167;
var
  Row, Col: Integer;
  GridPrevFile: string;
  XLApp, Sheet, Data: OLEVariant;
  i, j: Integer;
begin
  // Prepare Data
  Data := VarArrayCreate([1, AGrid.RowCount, 1, AGrid.ColCount], varVariant);
  for i := 0 to AGrid.ColCount - 1 do
    for j := 0 to AGrid.RowCount - 1 do
      Data[j + 1, i + 1] := AGrid.Cells[i, j];
  // Create Excel-OLE Object
  Result := False;
  XLApp := CreateOleObject('Excel.Application');
  try
    // Hide Excel
    XLApp.Visible := False;
    // Add new Workbook
    XLApp.Workbooks.Add(xlWBatWorkSheet);
    Sheet := XLApp.Workbooks[1].WorkSheets[1];
    Sheet.Name := ASheetName;
    // Fill up the sheet
    Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount,
      AGrid.ColCount)].Value := Data;
    // Save Excel Worksheet
    try
      XLApp.Workbooks[1].SaveAs(AFileName);
      Result := True;
    except
      // Error ?
    end;
  finally
    // Quit Excel
    if not VarIsEmpty(XLApp) then
    begin
      XLApp.DisplayAlerts := False;
      XLApp.Quit;
      XLAPP := Unassigned;
      Sheet := Unassigned;
    end;
  end;
end;

// Example:

procedure TForm1.Button1Click(Sender: TObject);
begin
  if SaveAsExcelFile(stringGrid1, 'My Stringgrid Data', 'c:\MyExcelFile.xls') then
    ShowMessage('StringGrid saved!');
end;
Wie kann ich die einzelnen Spaltenbreite verändern und wie kann ich die FixedRow so formatieren, dass sie "bold" ist in der Exceltabelle?
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Excel formatieren!

  Alt 23. Sep 2008, 17:48
Hallo

Nach welchen Stichworten würdest du suchen?

Ich z.B nach Hier im Forum suchenSpaltenbreite

Für die 2. Frage z.B nach Bei Google suchenExcel bold Font
Thomas
  Mit Zitat antworten Zitat
thiagojonas

Registriert seit: 31. Aug 2008
Ort: Wolfenbüttel
338 Beiträge
 
#3

Re: Excel formatieren!

  Alt 23. Sep 2008, 18:20
Danke!
  Mit Zitat antworten Zitat
thiagojonas

Registriert seit: 31. Aug 2008
Ort: Wolfenbüttel
338 Beiträge
 
#4

Re: Excel formatieren!

  Alt 23. Sep 2008, 19:03
Äh... kann ich auch die Zellen über Delphi sperren lassen?
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Excel formatieren!

  Alt 23. Sep 2008, 23:04
Hallo thiagojonas,

das funktioniert eigentlich genauso wie mit VBA in Excel.

Delphi-Quellcode:
  XLApp.ActiveSheet.Unprotect(Password:= 'Test'); // Blattschutz freigeben mit Passwort
XLApp.ActiveSheet.Range['B2','C4'].Select; // Diese Zellen sind nicht gesperrt.
XLApp.Selection.Locked:= FALSE;
XLApp.Selection.Interior.ColorIndex:= 15; // Die freien Zellen einfärben
XLApp.ActiveSheet.Protect(Password:= 'Test'); // Blattschutz einstellen mit Passwort.
XLApp.ActiveSheet.EnableSelection:= xlUnlockedCells;
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
thiagojonas

Registriert seit: 31. Aug 2008
Ort: Wolfenbüttel
338 Beiträge
 
#6

Re: Excel formatieren!

  Alt 24. Sep 2008, 12:58
Super Danke für deine Hilfe!
  Mit Zitat antworten Zitat
thiagojonas

Registriert seit: 31. Aug 2008
Ort: Wolfenbüttel
338 Beiträge
 
#7

Re: Excel formatieren!

  Alt 24. Sep 2008, 13:08
Noch eine kurze Frage!
Habe halt die StringGrid und ich lasse sie ausdrucken. Leider wir die Tabelle nicht mit ausgedruckt, nur die Werte in der Tabelle.
Gibt es einen Befhel dafür?
Danke
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Excel formatieren!

  Alt 24. Sep 2008, 18:32
Hallo thiagojonas,

neue Frage (auch kurze) neuer Beitrag, die Suchenden werden es Dir Danken.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz