Zum Hauptinhalt springen

Delphi: Speichern einer Excel-Datei ohne Bestätigung

In verschiedenen Anwendungen auf Delphi kann es erforderlich sein, Daten im Excel-Format zu speichern, ohne dass der Benutzer dies bestätigt. Dazu können Sie spezielle Funktionen und Verfahren verwenden, die Ihnen helfen, den Prozess des Speicherns einer Datei zu automatisieren.

Eine Möglichkeit, eine Excel-Datei ohne Bestätigung zu speichern, besteht darin, die OLE Automation-Bibliothek zu verwenden. Mit dieser Bibliothek können Sie Excel von Delphi aus verwalten und die erforderlichen Schritte ausführen, z. B. das Öffnen, Speichern und Schließen einer Datei. Erstellen Sie dazu eine Instanz des Excel Application-Objekts, öffnen Sie die gewünschte Datei und speichern Sie sie im XLS- oder XLSX-Format.

Beispielcode:

var

Row, Col: Integer;

begin

// Daten in Zellen schreiben

ExcelWorksheet.Cells[1, 1].Value := 'Überschrift 1';

ExcelWorksheet.Cells[1, 2].Value := 'Überschrift 2';

ExcelWorksheet.Cells[2, 1].Value := 'Wert 1';

ExcelWorksheet.Cells[2, 2].Value := 'Wert 2';

// Schließen von Excel

end;

Die Verwendung von Delphi-Funktionen und -Prozeduren in Verbindung mit der OLE Automation-Bibliothek ermöglicht daher das Speichern von Excel-Dateien ohne Bestätigung durch den Benutzer. Dies ist eine bequeme Möglichkeit, den Datenprozess zu automatisieren und Entwicklerzeit zu sparen.

Installieren von Delphi

Um mit der Installation von Delphi zu beginnen, müssen Sie das Installationspaket von der offiziellen Website von Embarcadero Technologies, dem Entwickler der Delphi-Programmierumgebung, herunterladen. Folgen Sie nach dem Herunterladen des Pakets den Installationsanweisungen, die mit der Installationsdatei bereitgestellt werden.

Bei der Installation von Delphi stehen normalerweise mehrere Installationsoptionen zur Verfügung, einschließlich der Auswahl der Komponenten, die Sie installieren möchten. Die meisten Entwickler wählen einen vollständigen Satz von Komponenten aus, um Zugriff auf alle Funktionen und Funktionen von Delphi zu haben.

Nach erfolgreicher Installation von Delphi muss die Lizenz aktiviert werden. Wenn Sie eine kommerzielle Delphi-Lizenz besitzen, müssen Sie Ihre Lizenzdaten für die Aktivierung eingeben. Wenn Sie eine Testversion von Delphi haben, müssen Sie sich auf der Website von Embarcadero Technologies registrieren, um einen kostenlosen Aktivierungsschlüssel zu erhalten.

Nachdem Sie die Lizenz aktiviert haben, können Sie Delphi verwenden und Anwendungen in der Programmiersprache Delphi erstellen. Delphi bietet Entwicklern leistungsstarke Tools zum Erstellen verschiedener Arten von Anwendungen, einschließlich Windows-Apps, mobilen Apps und Webanwendungen.

Die Delphi-Installation ermöglicht es Entwicklern, alle Funktionen und Funktionen von Delphi zu nutzen, um qualitativ hochwertige Anwendungen zu erstellen.

Erstellen einer Excel-Datei

Zuerst müssen Sie die Bibliothek Bibliotheca Plus mit dem Projekt verbinden. Anschließend können Sie eine neue Excel-Datei erstellen und mit Daten füllen. Dazu können Sie den folgenden Code verwenden:

varExcel: TExcelApplication;Workbook: _Workbook;Worksheet: _Worksheet;Range: Range;begin// Создание экземпляра приложения ExcelExcel := TExcelApplication.Create(nil);try// Запуск ExcelExcel.Connect;// Переключение на активную (первую) книгуWorkbook := Excel.Workbooks[1] as _Workbook;// Выбор первого листаWorksheet := Workbook.Worksheets[1] as _Worksheet;// Заполнение ячеек даннымиWorksheet.Cells.Item[1, 1].Value := 'Заголовок 1';Worksheet.Cells.Item[1, 2].Value := 'Заголовок 2';Worksheet.Cells.Item[2, 1].Value := 'Данные 1';Worksheet.Cells.Item[2, 2].Value := 'Данные 2';// Сохранение файлаWorkbook.SaveAs('путь_к_файлу.xlsx');finally// Освобождение ресурсовRange := nil;Worksheet := nil;Workbook := nil;Excel.Disconnect;Excel.Free;end;end;

In diesem Beispiel erstellen wir eine Instanz von Excel und führen sie aus. Wählen Sie dann das aktive Buch (das erste) und das erste Blatt aus. Als nächstes füllen wir die Zellen mit Daten aus und speichern die Datei im angegebenen Pfad.

So können Sie mit Delphi und Bibliotheca Plus problemlos Excel-Dateien erstellen und mit Daten füllen. Dies kann beispielsweise bei der Automatisierung von Datenprozessen oder beim Erstellen von Berichten hilfreich sein.

Erforderliche Module importieren

Bevor Sie beginnen, müssen Sie die erforderlichen Module importieren, die für die Arbeit mit der Excel-Datei verwendet werden sollen.

Delphi verwendet das ExcelXP-Modul aus der ComObj-Bibliothek, um mit Excel-Dateien zu arbeiten. Um mit dem Modul zu beginnen, müssen Sie die entsprechende Direktive im Abschnitt "uses" Ihres Projekts hinzufügen:

uses. ComObj, ExcelXP;

Das ComObj-Modul ist für die Arbeit mit COM-Objekten zuständig, und das ExcelXP-Modul stellt Funktionen für die Arbeit mit Excel-Dateien bereit.

Außerdem müssen Sie das Variants-Modul importieren, um mit Variantendatentypen zu arbeiten:

uses. Variants;

Nachdem Sie diese Module hinzugefügt haben, können Sie mit den Excel-Dateien in Delphi arbeiten.

Speicherbestätigung deaktivieren

Zum Speichern einer Excel-Datei ohne Bestätigung durch den Benutzer wird normalerweise die Methode verwendet SaveAs Objekts TExcelApplication in Delphi.

Hier ist ein Beispielcode, der die Speicherbestätigung deaktiviert und die Excel-Datei speichert:

varExcelApp: TExcelApplication;ExcelWorkbook: Workbook;ExcelWorksheet: Worksheet;beginExcelApp := TExcelApplication.Create(nil);ExcelApp.Connect;// открытие файла ExcelExcelWorkbook := ExcelApp.Workbooks.Open('C:\путь\к\файлу.xlsx');// выбор активного листаExcelWorksheet := ExcelWorkbook.ActiveSheet as Worksheet;// ваш код для работы с данными в Excel// отключение сообщения о сохранении измененного файлаExcelApp.DisplayAlerts := False;// сохранение файла без подтвержденияExcelWorkbook.SaveAs('C:\путь\к\файлу.xlsx');// закрытие файла ExcelExcelWorkbook.Close;// закрытие приложения ExcelExcelApp.Quit;ExcelApp.Disconnect;ExcelApp.Free;end;

Im obigen Code nach der Auswahl des aktiven Arbeitsblatts ExcelWorksheet, Optionen DisplayAlerts werden auf einen Wert festgelegt False, um die Meldung zum Speichern der geänderten Datei zu deaktivieren. Dann die Methode SaveAs wird aufgerufen, um die Datei ohne Bestätigung zu speichern.

Nachdem Sie die Änderungen gespeichert haben, wird die Excel-Datei mit einer Methode geschlossen Close und die Excel-Anwendung wird mit einer Methode beendet Quit. Warum wird der für Objekte zugewiesene Speicher freigegeben ExcelApplication und Workbook.

Wenn Sie den angegebenen Code verwenden, können Sie die Excel-Datei speichern, ohne die Speicherung zu bestätigen, und die Benutzererfahrung des Programms wird verbessert.

Festlegen des Speicherpfads

In Delphi können Sie den Pfad zum Speichern einer Excel-Datei angeben, ohne sie mit einem Standarddialogfeld bestätigen zu müssen. Verwenden Sie dazu die TSaveDialog-Komponente.

Bevor Sie mit dem Speichern beginnen, müssen Sie eine Instanz der TSaveDialog-Komponente erstellen. Anschließend konfigurieren Sie die Eigenschaften, um den ursprünglichen Speicherpfad und die Dateitypen festzulegen, die im Dialogfeld zur Dateiauswahl angezeigt werden sollen.

Standardmäßig spiegelt TSaveDialog nur Dateien mit der Erweiterung ' wider.xls'. Um eine Option zum Speichern von Dateien mit der Erweiterung ' hinzuzufügen.xlsx', legen Sie die DefaultExt-Eigenschaft der Komponente auf ' fest.xlsx'.

Nachdem Sie die Eigenschaften einer Komponente konfiguriert haben, müssen Sie die Execute-Methode aufrufen, um das Dialogfeld zur Dateiauswahl anzuzeigen. Wenn der Benutzer einen Speicherpfad auswählt und auf die Schaltfläche Speichern klickt, wird er in der FileName-Eigenschaft der Komponente gespeichert.

Der resultierende Pfad kann zum Speichern einer Excel-Datei mit der SaveAs-Methode des ExcelApplication-Objekts verwendet werden. Beachten Sie dabei das Dateiformat ('.xls' oder '.xlsx'), um die entsprechende Version des Workbook-Objekts zu verwenden.

varSaveDialog: TSaveDialog;beginSaveDialog := TSaveDialog.Create(nil);trySaveDialog.Title := 'Сохранить файл';SaveDialog.InitialDir := ExtractFilePath(Application.ExeName);SaveDialog.DefaultExt := '.xlsx'; // добавляет возможность сохранять в формате .xlsxSaveDialog.Filter := 'Файлы Excel (*.xls;*.xlsx)|*.xls;*.xlsx';SaveDialog.Options := [ofOverwritePrompt, ofEnableSizing];if SaveDialog.Execute thenbeginExcelApplication.ActiveWorkbook.SaveAs(SaveDialog.FileName);ShowMessage('Файл успешно сохранен.');end;finallySaveDialog.Free;end;end;

In diesem Beispiel wird nach dem Speichern der Excel-Datei eine Meldung angezeigt, die den Benutzer darüber informiert, dass das Speichern erfolgreich war.

Speichern einer Excel-Datei

In Delphi ist es möglich, Excel-Dateien ohne Bestätigung des Benutzers zu speichern. Verwenden Sie dazu die SaveAs-Methode und geben Sie den Pfad zu der Datei an, in der sie gespeichert werden soll.

procedure SaveExcelFile(const AExcelApp: TExcelApplication; const AFileName: WideString); begin // Legen Sie die Eigenschaft Saved fest, um zu verhindern, dass das Dialogfeld "Speichern unter" angezeigt wird AExcelApp.DisplayAlerts := False; AExcelApp.Workbooks[1].SaveAs(AFileName); AExcelApp.DisplayAlerts := True; end;

In diesem Beispiel setzen wir die DisplayAlerts-Eigenschaft auf False, um zu verhindern, dass das Dialogfeld Speichern unter angezeigt wird. Rufen Sie dann die SaveAs-Methode auf und übergeben Sie den Pfad zu der Datei, in der Sie das Excel-Dokument speichern möchten. Legen Sie nach dem Speichern die DisplayAlerts-Eigenschaft auf True fest, um das Systemverhalten zurückzugeben.

Wenn Sie jetzt diese Prozedur aufrufen, wird die Datei ohne Bestätigung des Benutzers gespeichert.