Bearbeiten und Erstellen von Exceldateien in Java mit SCell

Use Scell to create excel files using java

Table of Contents

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 &quot;IScellApiFactory&quot; 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();

 

Daten aus einer Tabelle lesen

Um Daten von einem IWorksheet zu erhalten, muss die Methode IWorksheet.getStorages() aufgerufen werden, die das IWorksheetStorage zurückgibt. Es enthält eine Reihe von IMapStorage, von denen jedes seinen eigenen Wertetyp enthält (z.B. BorderStorage, CommentStorage, FontStorage, HyperlinkStorage, ImageStorage, StyleStorage, ValueStorage).

Um einen Wert zu erhalten, ist eine geeignete „Getter“-Methode erforderlich, beispielsweise getValueStorage(). Das IMapStorage gibt die abgefragten Werte in Form eines java.util.stream.Stream zurück. Es ist möglich, entweder alle Werte zu erhalten oder nur einen bestimmten Wertebereich abzufragen, der im angegebenen IRangeAddress-Typ enthalten ist.

Der IRangeAddressBuilder legt eine einzelne oder eine Bereichsadresse mit Hilfe der entsprechenden Methoden fest:

  • setTopLeft(int row, int column): Legt den oberen linken Punkt des Bereichs fest.
  • setBottomRight(int row, int column): Legt den unteren rechten Punkt des Bereichs fest.
  • buildCell(): Erstellt eine einzelne Zelladresse, in diesem Fall ist nur der obere linke Punkt erforderlich.
  • buildRange(): Erstellt eine Bereichsadresse, zwei Punkte sind erforderlich.

Address Builder können auch aus einem „menschenlesbaren“ Format erstellt werden, wie A1 (Spalte 1, Zeile 1) oder A1:B1 (von Spalte 1, Zeile 1 bis Spalte 2, Zeile 1) usw., unter Verwendung der Methode fromA1String().

Ein einzelner Wert wird durch eine geeignete Schnittstelle dargestellt, z. B. IValue<T>.

Ab diesem Stadium können die erforderlichen Daten empfangen werden.

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.

Share:

More Posts

Nach oben scrollen