Einführung: Wie man mit Java Exceldateien erstellt und bearbeitet
Die Integration von Excel-Tabellen in Java ermöglicht die nahtlose Verbindung zwischen der Leistungsfähigkeit von Excel-Tabellen und der Flexibilität der Programmiersprache Java. Java bietet leistungsstarke Möglichkeiten zum Erstellen von Excel-Dateien und -Berichten in verschiedenen Formaten, einschließlich XLSX. Mit Java-Bibliotheken wie SCell können Entwickler das gesamte Potenzial von Java nutzen, um mit unseren Java-Komponenten mit Leichtigkeit Excel-Dateien zu erzeugen und mühelos umfassende Excel-Reports zu erstellen.
In diesem Artikel werden wir sowohl die Techniken als auch die Bibliotheken erkunden, die Java bietet, um XLSX-Dateien und professionelle Berichte zu generieren und damit unterschiedlichste Geschäftsanforderungen erfüllen zu können.
SCell entfesseln: Java zur Bearbeitung von Excel-Dateien in Ihrer Anwendung nutzen
SCell – ist ein Tool, das es Ihnen ermöglicht, Ihre Java-Anwendungen flexibel mit der Funktionalität einer adaptierbaren Tabellenkalkulation zu optimieren. Verwenden Sie diese smarte Java-Komponente, um Daten aus Ihrer Anwendung heraus in Ihre eigenen XLSX-Dateien zu importieren. Jedes Mal, wenn Sie aber auf diesen Zwischenschritt verzichten, verlieren Sie tatsächlich wertvolle Zeit. Allein um die Daten außerhalb Ihrer Anwendung z.B. in MS-Excel oder Google-Sheets zu aktualisieren, müssen Sie mehrmals die Bildschirme bzw. Anwendungen wechseln. Das verlangsamt Ihre Arbeit und erhöht die Fehlerquote durch Übernahmefehler.
SCell spart Ihnen diese Zeit und damit viel Geld. Diese Java-Tabellenkalkulationskomponente bietet Ihnen zudem eine moderne Bearbeitungsoberfläche mit den üblichen Funktionen, die Sie auch aus MS Excel oder Google Sheets kennen.
- Ändern Sie Tabellenkalkulationen nahtlos innerhalb Ihrer Anwendung, ob mit oder auch ohne Benutzeroberfläche.
- Eliminieren Sie die Notwendigkeit, zwischen MS Excel oder Google Sheets und Ihrer Hauptanwendung wechseln zu müssen.
- Sparen Sie zusätzlich wertvolle Zeit für Ihr Entwicklungsteam und reduzieren Sie die Ausgaben für die Entwicklung eigener Excel-Funktionen in Ihrer Anwendung.
Hier tauchen wir ein, in die Vorteile der Verwendung von SCell.
Vorteile der Verwendung von SCell
Wenn Ihre Organisation auf Java-Anwendungen, Softwareentwicklung oder Java-Upgrades angewiesen ist, werden Sie durch die Nutzung unserer Java-Tabellenkalkulationsbibliothek SCell erhebliche Vorteile erzielen.
- Erstellen Sie außergewöhnliche Anwendungen: Stärken Sie Ihre Java-Anwendungsentwicklung mit der umfassenden Komponentenbibliothek von SCell, die es Benutzern ermöglicht, nahtlos mit Tabellenkalkulationen zu interagieren.
- Vereinheitlichen Sie Ihren Arbeitsablauf: Rationalisieren Sie Ihre Prozesse, indem Sie die Notwendigkeit der Integration mehrerer Anwendungen eliminieren. Nutzen Sie die SCell-Java-Bibliothek, die eine umfassende Schnittstelle bietet, um alle Tabellenkalkulationsfunktionen innerhalb einer einzigen Anwendung zu nutzen.
- Reduzieren Sie Ausgaben: Optimieren Sie die Produktivität Ihres Personals und Ihrer Workflows. Eliminieren Sie die Notwendigkeit für kundenspezifische Entwicklungskosten für die Entwicklung individueller Tabellenkalkulations-Funktionen in Ihrer Anwendung. Sparen Sie sowohl Zeit als auch Ressourcen mit der Java-Bibliothek SCell.
- Erweitern Sie Ihr Angebot: Wir bieten Java-Entwicklern eine leistungsstarke Bibliothek, die sie befähigt, eine Vielzahl an Tabellenkalkulations-Funktionen sowie Berechnungsformeln einfach in ihre bestehenden Produkte zu integrieren. Erweitern Sie Ihre Angebotspalette mit der Funktionalität einer funktionsreichen Tabellenkalkulationssoftware, indem Sie die Java-Bibliothek SCell integrieren.
SCell-Funktionen: Was Sie mit SCell tun können
- Benutzeroberfläche: SCell bietet eine vorgefertigte, vollständig anpassbare JavaFX-Grafik-Benutzeroberfläche (GUI) als Teil seines Pakets.
- Desktop: Integrieren Sie SCell nahtlos in Ihre Desktop-Anwendung.
- Betriebssystemunterstützung: Plattformübergreifende Unterstützung (Windows, Linux und macOS).
- Anpassung: Nutzen Sie SCell als ein wesentliches Werkzeug zur Verbesserung Ihrer Geschäftsanwendungen.
- Funktionen und Formeln: Nutzen Sie über 130 vertraute Berechnungsformeln, die Sie aus verschiedenen Tabellenkalkulationsanwendungen kennen.
- Formatierung: Richten Sie Text innerhalb von Zellen mühelos aus, ändern Sie Schriftarten, wenden Sie lebendige Zellfarben an, importieren und formatieren Sie Bilder und nutzen Sie eine Vielzahl weiterer leistungsstarker Funktionen. Mit SCell haben Sie die Möglichkeit, Ihre Tabellenkalkulationen an Ihre spezifischen Bedürfnisse anzupassen und sie optisch ansprechend und wirkungsvoll zu gestalten.
- Web: Integrieren Sie SCell nahtlos in Ihre serverseitige Anwendung mittels SCell Core oder mit einigen Zusatzbibliotheken nun auch direkt im Browser (via Chrome, Edge und Safari).
- API: Nutzen Sie die Leistungsfähigkeit der SCell-Java-API, um Änderungen an XLSX-Dateien (Open XML-Format) vorzunehmen und SCell an Ihre spezifischen Anforderungen anzupassen.
Wie man SCell in ein Projekt mit Maven integriert
Der erste Schritt besteht darin, eine Lizenz und die Anmeldeinformationen von Intechcore’s Nexus zu erwerben und dann die Datei „settings.xml“ für den lokalen Maven-Repository-Ordner ($HOME/.m2) zu konfigurieren.
Fügen Sie die gegebenen Anmeldeinformationen an der entsprechenden Stelle ein.
<settings> <servers> <server> <id>intechcore-server</id> <username>given_username</username> <password>given_password</password> </server> </servers> </settings>
Der zweite Schritt besteht darin, die API als „dependency“ in Ihrem Maven-Projekt zu verbinden. Die folgenden Änderungen sind in der Datei „pom.xml“ des Projekts erforderlich:
<repositories> <repository> <id>intechcore-server</id> <name>scalable components demo</name> <!-- Remove if use full version --> <url>https://nexus.intechcore.online/repository/maven-scomponents-demo</url> <!-- Remove if use DEMO version --> <url>https://nexus.intechcore.online/repository/maven-scomponents-releases-scell/</url> </repository> </repositories> <properties> <!-- leave just one what you need, remove the rest --> <!-- OR to use Java 8 --> <scell.api.version>1.1.1-java8</scell.api.version> <!-- OR to use Java 11 --> <scell.api.version>1.1.1-java11</scell.api.version> <!-- OR to use Java 8 DEMO --> <scell.api.version>1.1.1-java8-DEMO</scell.api.version> <!-- OR to use Java 11 DEMO --> <scell.api.version>1.1.1-java11-DEMO</scell.api.version> </properties> <dependencies> <dependency> <groupId>com.intechcore.scomponents.scell</groupId> <artifactId>api-interfaces-core</artifactId> <version>${scell.api.version}</version> </dependency> <dependency> <groupId>com.intechcore.scomponents.scell</groupId> <artifactId>api-impl-core</artifactId> <version>${scell.api.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.intechcore.scomponents.scell</groupId> <artifactId>api-interfaces-ui</artifactId> <version>${scell.api.version}</version> </dependency> <dependency> <groupId>com.intechcore.scomponents.scell</groupId> <artifactId>api-impl-ui</artifactId> <version>${scell.api.version}</version> <scope>runtime</scope> </dependency> </dependencies>
Danach ist die SCell-API bereit zur Verwendung.
Wie man mit der Java-Excel-API von SCell arbeitet
Struktur der SCell-API
Um mit der SCell-API zu arbeiten, müssen die folgenden Entitäten verwendet werden:
- Workbook: Dies ist die Basis-Einheit des Tabellenkalkulationssystems. Es enthält und verwaltet die Liste an vorhandenen Arbeitsblättern.
- Worksheet: Dies ist eine einzelne Tabellenkalkulationsinstanz, die eine Reihe von „Content Managern“ enthält, die die Arbeitsblätter verwaltbar und anpassbar machen, wie z.B. Services, Storages und so weiter. Sie werden als entsprechende Schnittstellen dargestellt und in den jeweiligen Storages platziert.
Es ist möglich, die Werte der vorhandenen „Contents“ zu aktualisieren oder neue mit Hilfe von Buildern zu erstellen (jeder „Content“ hat den entsprechenden Builder, Beispiele für deren Verwendung werden später gezeigt).
Die oben genannten Entitäten können vom IScellApiResolver bezogen werden. Der ScellApiEntryPoint muss aufgerufen werden, um die API zu initialisieren und den IScellApiResolver für die weitere Bearbeitung zu erhalten.
ScellApiEntryPoint.getApiResolverAsync().thenAccept(resolver -> { // ... });
Die statische Methode „getApiResolverAsync“ gibt den Resolver asynchron unter Verwendung von CompletableFuture zurück.
Wie man xlsx-Dateien mit Java lädt/erstellt/speichert.
Die "IScellApiFactory" wird zum Lesen/Speichern/Erstellen der xlsx-Dateien benötigt. Wie zuvor beschrieben, kann ihre Instanz vom Resolver bezogen werden.
Laden und Erstellen von Excel-Dateien mit Java.
Um die XLSX-Datei zu laden und zu erstellen, sind die entsprechenden Methoden („load()“ und „create()“) notwendig:
ScellApiEntryPoint.getApiResolverAsync().thenAccept(resolver -> { IScellCoreApiFactory apiFactory = resolver.resolve(IScellCoreApiFactory.class); // loading IWorkbook existingWorkbook = apiFactory.load(new File("/path/to/existing/file.xlsx")); IWorkbook newWorkbook = apiFactory.createNew(); // ... }).whenComplete((unused, throwable) -> { if (throwable != null) { System.out.println(throwable.getMessage()); } }).join();
Beide geben die IWorkbook-Instanz für die Weiterverarbeitung zurück.
Speichern eines geänderten oder neu erstellten XLSX-Dokuments.
Um ein erstelltes oder geändertes Dokument zu speichern, wird der IFileWriter benötigt. Neben dem Speichern bietet der IFileWriter die Möglichkeit, den Dateinamen und -typ festzulegen. Er kann von der IWorkbook-Instanz bezogen werden:
IFileWriter fileWriter = existingWorkbook.getWriter(); fileWriter .fileName("spreadsheet-xlsx") .fileType(IFileWriter.FileType.XLSX) .save();
IRangeAddressBuilder addressBuilder = resolver.resolve(IRangeAddressBuilder.class); IRangeAddress address = addressBuilder.setTopLeft(5, 3).buildCell(); // or IRangeAddress address = addressBuilder.fromA1String(“C5”).buildCell(); String value = (String) worksheet.getStorages() .getValueStorage() .findContaining(address) .findFirst() .get() .unbox();
Daten in ein Arbeitsblatt schreiben
Die API bietet die Möglichkeit, Zelleninhalte und -stile zu ändern, wie z. B. Füllfarben, Schriftarten und Rahmen.
Es gibt drei Möglichkeiten, den Zellenwert zu ändern:
worksheet.inputContent(IRangeAddress range, String input”)
Diese Methode funktioniert so, als ob ein Wert über die Benutzeroberfläche in die Zelle eingegeben wurde. Die Daten werden analysiert und in entsprechende Werte übersetzt.
Worksheet.setContent(IRangeAddress range, Number/boolean input)
Zur Eingabe einen numerischen oder booleschen (logischen) Werts.
Ein besser kontrollierbarer Weg der Dateneingabe ist die Verwendung von „IValueService“ und „IValueFactory“:
worksheet.getValueService().set(addressBuilder.fromA1String("B2"), iValueFactory -> iValueFactory.createNumeric(123) );
IWorksheet enthält auch eine Reihe von Diensten (BordrerService, CommentService, FontService, HyperlinkService, StyleService, ValueService). Sie können verwendet werden, um ihre Werte zu setzen oder zu aktualisieren:
IColorConstants constants = resolver.resolve(IColorConstants.class); worksheet.getStyleService().set(addressBuilder.fromA1String("A1"), iStyleBuilder -> iStyleBuilder.setBackgroundColor(constants.red()) ); worksheet.getFontService().set(addressBuilder.fromA1String("A1"), iFontBuilder -> iFontBuilder.setBold(true).build() );
Erstellen einer UI-Komponente
Um einen JavaFx-UI-Knoten zu erstellen, muss der IScellUiApiBuilder verwendet werden. Er bietet die Möglichkeit, verschiedene Tabellenkalkulations-UI-Komponenten und Funktionen ein- oder auszuschalten, wie z. B. Scrollleisten, Kontextmenüs und so weiter.
Nach dem Festlegen der gewünschten Parameter wird die Methode create(CompletableFuture<IWorkbook> coreApi) aufgerufen, die die IScellUiApi-Instanz zurückgibt, welche den JavaFx-Node mit der Methode getControl zurückgeben kann.
IWorkbook workbook = apiFactory.createNew(); IScellUiApiBuilder<Node> uiBuilder = resolver.resolve(IScellUiFxApiBuilder.class); IScellUiApi<Node> uiApi = uiBuilder .verticalScrollbarVisible(false) .inputBarVisible(false) .create(CompletableFuture.completedFuture(workbook)); Node spreadSheet = uiApi.getControl(); StackPane stackPane = new StackPane(spreadSheet);
Wir laden Sie ein!
Falls Sie zusätzliche Informationen oder Unterstützung bei der Implementierung von Java-Excel-Integrationstechniken benötigen, stehen wir Ihnen zur Verfügung. Als Experten auf diesem Gebiet bieten wir Beratungs- und Entwicklungsdienstleistungen, die auf Ihre spezifischen Anforderungen zugeschnitten sind. Ob Sie Anleitung zur Nutzung von Bibliotheken wie SCell benötigen oder maßgeschneiderte Lösungen für Ihre Bedürfnisse wünschen, wir haben die Expertise, um Sie in jeder Phase zu unterstützen.
Darüber hinaus laden wir Sie ein, von einer kostenlosen Demo zu profitieren, die wir anbieten, damit Sie die Leistungsfähigkeit von SCell und anderen skalierbaren Java-Komponenten aus erster Hand erleben können. Diese Demo wird die außergewöhnlichen Funktionen von SCell präsentieren und zeigen, wie es Ihre Excel-bezogenen Arbeitsabläufe verbessern kann. Mit der Demo erhalten Sie wertvolle Einblicke in die Möglichkeiten der Java-Excel-Integration und erfahren, wie diese Ihrem Unternehmen zugutekommen können.
Kontaktieren Sie uns heute, um mehr über unsere Beratungs- und Entwicklungsdienstleistungen zu erfahren oder um Ihre kostenlose Demo zu vereinbaren. Wir freuen uns darauf, Ihnen zu helfen, das volle Potenzial der Java-Excel-Integration für den Erfolg Ihres Unternehmens zu nutzen.