![]() |
Excel formatieren!
Hallo mit diesem Code Exportieren ich die Daten einer StrinGrid in .xls!
Delphi-Quellcode:
Wie kann ich die einzelnen Spaltenbreite verändern und wie kann ich die FixedRow so formatieren, dass sie "bold" ist in der Exceltabelle?
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; |
Re: Excel formatieren!
Hallo
Nach welchen Stichworten würdest du suchen? Ich z.B nach ![]() Für die 2. Frage z.B nach ![]() |
Re: Excel formatieren!
Danke! :o :-D
|
Re: Excel formatieren!
Äh... kann ich auch die Zellen über Delphi sperren lassen?
|
Re: Excel formatieren!
Hallo thiagojonas,
das funktioniert eigentlich genauso wie mit VBA in Excel.
Delphi-Quellcode:
Bis bald Chemiker
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; |
Re: Excel formatieren!
Super Danke für deine Hilfe! :-D
|
Re: Excel formatieren!
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 :) |
Re: Excel formatieren!
Hallo thiagojonas,
neue Frage (auch kurze) neuer Beitrag, die Suchenden werden es Dir Danken. Bis bald Chemiker |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz