[Java] [POI] Erstellen Sie eine Tabelle in Word und beginnen Sie eine neue Zeile in einer Zelle

Was du machen willst

Erstellen Sie eine MS Office Word-Datei in Java Tabelle nach Matrixspezifikation einfügen Fügen Sie Zeichen mit Zeilenumbrüchen in eine bestimmte Zelle ein

Was zu verwenden

Sprache: Java 1.8

IDE : eclipse Version: Neon.3 Release (4.6.3)

FW : Spring boot 1.5.7

Projektmanagement-Tool: Maven 4.0.0

** Menschen ohne MS Office ** Lassen Sie uns MS Office Word Viewer installieren.

Verschiedene Vorbereitungen

Die DL-Methode der IDE und die Einführung des STS-Plugins werden veröffentlicht, wenn Sie googeln. Ich werde sie daher weglassen Suchbegriff Eclipse → eclipse pleiades STS Plugin → eclipse spring bot plugin

Ich werde die Erstellung eines neuen Projekts weglassen, da es herauskommt, wenn ich google.

Bibliothek mit Maven hinzufügen

Fügen Sie Folgendes in "<Abhängigkeiten> ~ </ Abhängigkeiten>" von pom.xml hinzu

pom.xml


<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas -->
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi-ooxml-schemas</artifactId>
	<version>3.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi-ooxml</artifactId>
	<version>3.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi</artifactId>
	<version>3.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans -->
<dependency>
	<groupId>org.apache.xmlbeans</groupId>
	<artifactId>xmlbeans</artifactId>
	<version>2.6.0</version>
</dependency>

HTML-Erstellung

index.html


<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org">
      <head></head>

      <body>
	      <a href="demo/download">Laden Sie Ooooooooooooooooooooooooooooooooooooooooooooooooooo</a>
      </body>

</html>

Controller-Erstellung

DemoController.java


package com.example.demo.controller;

import java.io.IOException;

import javax.servlet.http.HttpServletResponse;

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("/demo")
public class DemoController {

	@GetMapping
	public ModelAndView demo(ModelAndView mv) {
		mv.setViewName("index");

		return mv;
	}

    @GetMapping("download")
    public void download(HttpServletResponse response) throws IOException {

        //Word-Datei erstellen von hier
        XWPFDocument document = new XWPFDocument();
        XWPFParagraph paragraph;
        XWPFRun run;
        XWPFTable table;

        //Fügen Sie eine 10 x 1-Tabelle ein. 1. Argument: Anzahl der Zeilen 2. Argument: Anzahl der Zellen pro Zeile
        table = document.createTable(10, 1);

        paragraph = table.getRow(0).getCell(0).getParagraphs().get(0);
        run = paragraph.createRun();
        run.setText("Die erste Zeile");

        //Haupt: Absatz(Absatz)hinzufügen
        // run.addCarriageReturn();Dann bricht es nicht.
        paragraph = table.getRow(0).getCell(0).addParagraph();
        run = paragraph.createRun();
        run.setText("2. Zeile");

        paragraph = table.getRow(0).getCell(0).addParagraph();
        run = paragraph.createRun();
        run.setText("3. Zeile");

        paragraph = table.getRow(0).getCell(0).addParagraph();
        run = paragraph.createRun();
        run.setText("4. Zeile");
        //Erstellung von Word-Dateien bis hierher

        //Legen Sie das Format und den Dateinamen der Datei fest, die von HttpServletResponse heruntergeladen werden soll
        response.setContentType("application/msword");
        response.setHeader("Content-Disposition", "attachment;filename=\"" + "fileName" + ".docx\"");

        //Legen Sie die erstellte Word-Datei in HttpServletResponse fest
        document.write(response.getOutputStream());

        if (document != null) {
            document.close();
        }
    }
}

Bestätigung

Starten Sie die Spring Boot-Anwendung

Zugriff auf Loalhost: 8080 / Demo

[Ooooooooooooooooooooo herunterladen] Drücken Sie

Speichern Sie die Datei an einem geeigneten Ort und öffnen Sie sie

Recommended Posts

[Java] [POI] Erstellen Sie eine Tabelle in Word und beginnen Sie eine neue Zeile in einer Zelle
Java erstellt eine Tabelle in einem Word-Dokument
Java-Join- und Split-Tabellenzellen im Word-Dokument
[Java] So unterbrechen Sie eine Zeile mit StringBuilder
Erstellen Sie eine neue App mit Rails
Sortieren Sie die Liste in absteigender Reihenfolge in Java und generieren Sie zerstörungsfrei eine neue Liste
So erstellen Sie ein neues Gradle + Java + Jar-Projekt in Intellij 2016.03
[Java] Erstellen und Anwenden eines Folienmasters
Erstellen Sie eine TODO-App in Java 7 Create Header
Haben Sie ein Werkzeug zum Erstellen und Öffnen einer neuen Leinwand in der Mac-Vorschau
Zwei Möglichkeiten, einen Thread in Java + @ zu starten
Erstellen Sie eine CSR mit erweiterten Informationen in Java
Versuchen Sie, ein Bulletin Board in Java zu erstellen
[Java] Erstellen Sie eine Sammlung mit nur einem Element
Lassen Sie uns mit Java ein supereinfaches Webframework erstellen
Java fügt Wasserzeichen in Word-Dokumenten hinzu und entfernt sie
[Arbeitsnotiz für persönliche Anwendungen] Anzeigen von Balkendiagrammen und Liniendiagrammen in einem Diagramm
Erstellen Sie ein Java-Servlet und eine JSP-WAR-Datei für die Bereitstellung auf Apache Tomcat 9 mit Gradle
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
Unterschied zwischen neu und in Rais Action Controller erstellen
Schreiben Sie eine Klasse in Kotlin und nennen Sie sie in Java
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
So erstellen Sie einen Daten-URI (base64) in Java
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
Erstellen Sie eine JAVA WEB App und probieren Sie OMC APM aus
[Java] Eine Technik zum Schreiben von Konstruktoren, Gettern und Setzern auf einmal mit IntelliJ IDEA.
[Java] Erstellen Sie einen Filter
Erstellen Sie JSON in Java
Was ist neu in Java 8?
Was ist neu in Java 9,10,11
Aktivieren Sie die Zelle A1 jeder Excel-Datei mit Java
Erstellen Sie einen SlackBot mit AWS Lambda & API Gateway in Java
Erstellen Sie eine Methode, um den Steuersatz in Java zurückzugeben
Erstellen Sie ein Tomcat-Projekt mit Eclipse Pleiades All in One
So entwickeln und registrieren Sie eine Sota-App in Java
Erstellen Sie eine Java- und JavaScript-Teamentwicklungsumgebung (Gradle-Umgebungskonstruktion)
Entfernen Sie aufeinanderfolgende Zeilenumbrüche und Tabulatoren vor und nach Java