Java verwendet Apache.POI, um HSSFWorkbook nach Excel zu exportieren

Java verwendet Apache.POI, um HSSFWorkbook nach Excel zu exportieren

Verwenden Sie HSSFWorkbook in Apache.POI, um nach Excel zu exportieren. Der spezifische Inhalt ist wie folgt:

1. Poi-Abhängigkeit einführen (3.12)

Es bestehen folgende Abhängigkeiten:

<Abhängigkeit>
   <groupId>org.apache.poi</groupId>
   <artifactId>Sonderziel</artifactId>
   <version>3.12</version>
</Abhängigkeit>

2. Entity-Klasse erstellen (User.java)

Paket com.kd.nm.entity.pojo;

/**
 * Entitätsklasse (Benutzer)
 *
 * Autor Xiaochen Gege*/
öffentliche Klasse Benutzer {
 // Benutzernummer private String userNo;
 //Benutzernameprivate String userName;
 //Alterprivater String Alter;

 // Keine Parameterkonstruktion public User() {
 }

 // Konstruktor mit Parametern public User(String userNo, String userName, String age) {
  this.userNo = Benutzernummer;
  this.userName = Benutzername;
  dieses.Alter = Alter;
 }

 // Kapselung der Get- und Set-Methoden public String getUserNo() {
  Benutzernummer zurückgeben;
 }

 public void setUserNo(String benutzerNr) {
  this.userNo = Benutzernummer;
 }

 öffentliche Zeichenfolge getUserName() {
  Benutzername zurückgeben;
 }

 public void setUserName(String benutzerName) {
  this.userName = Benutzername;
 }

 öffentliche Zeichenfolge getAge() {
  Rückkehralter;
 }

 public void setAge(String Alter) {
  dieses.Alter = Alter;
 }

 //ToString-Methode umschreiben @Override
 öffentliche Zeichenfolge toString() {
  return "Benutzer{" +
    "Benutzernr='" + Benutzernr + '\'' +
    ", Benutzername='" + Benutzername + '\'' +
    ", Alter='" + Alter + '\'' +
    '}';
 }
}

3. Excel-bezogene Toolklassen (ExcelUtil, ReflectUtil)

Paket com.kd.nm.util;

importiere java.util.ArrayList;
importiere java.util.List;
importiere java.util.Map;
importiere org.apache.poi.hssf.usermodel.*;

/**
 * Beschreibung: Excel-bezogene Tools*
 * @Autor: Bruder Xiaochen*
 */
öffentliche Klasse ExcelUtil {

 /**
  * Excel-Tabelle generieren* @param heads Header-Inhalt* @param data Dateninhalt* @return
  */
 öffentliches statisches HSSFWorkbook erstelltExcel(Map<String, String> Köpfe, Listendaten) {

  //Eine Arbeitsmappe deklarieren HSSFWorkbook workbook = new HSSFWorkbook();
  // Eine Tabelle erstellen HSSFSheet sheet = workbook.createSheet();

  // Titelzeilenstil generieren HSSFCellStyle headStyle = creatStyle(workbook, (short) 14);

  // Tabelleninhaltsstil generieren HSSFCellStyle bodyStyle = creatStyle(workbook, (short) 10);

  // Titelelemente List<String> keys = new ArrayList<String>(heads.keySet());

  // Pixeleinheit short px = 1000;
  // Spaltenbreite festlegen für (int columnIndex = 0; columnIndex < keys.size(); columnIndex++) {

   Blatt.Spaltenbreite festlegen(Spaltenindex, 6 * px);
  }

  //Tabelle generieren für (int rowNum = 0; rowNum <= data.size(); rowNum++) {

   // Zeile erstellen HSSFRow row = sheet.createRow(rowNum);

   für (int cellNum = 0; cellNum < keys.size(); cellNum++) {

    //Spalte erstellen HSSFCell cell = row.createCell(cellNum);

    // Titel if (rowNum == 0) {

     Zelle.setCellStyle(KopfStil);
     Zelle.SetZellenwert(Kopf.get(Schlüssel.get(Zellennummer)));
    } sonst { // Inhalt cell.setCellStyle(bodyStyle);
     // Zelle abrufen durch reflection.setCellValue(ReflectUtil.getValue(keys.get(cellNum), data.get(rowNum - 1)));
    }
   }
  }

  Arbeitsmappe zurückgeben;
 }

 /**
  * Stil generieren * @param Arbeitsmappe
  * @param Größe
  * @zurückkehren
  */
 öffentliche statische HSSFCellStyle creatStyle(HSSFWorkbook Arbeitsmappe, kurze Größe) {

  HSSFCellStyle-Stil = workbook.createCellStyle();
  style.setAlignment((HSSFCellStyle.ALIGN_CENTER));
  style.setVerticalAlignment((HSSFCellStyle.VERTICAL_CENTER));
  HSSFFont Schriftart = workbook.createFont();
  font.setFontHeightInPoints(Größe);
  font.setFontName("Microsoft YaHei");
  style.setFont(Schriftart);
  style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
  style.setBorderTop(HSSFCellStyle.BORDER_THIN);
  style.setBorderRight(HSSFCellStyle.BORDER_THIN);
  style.setBorderLeft(HSSFCellStyle.BORDER_THIN);

  Rückgabestil;
 }
}
Paket com.kd.nm.util;

importiere org.slf4j.Logger;
importiere org.slf4j.LoggerFactory;
importiere org.springframework.util.ReflectionUtils;
importiere java.beans.PropertyDescriptor;
importiere java.lang.reflect.Method;

/**
 * Reflexions-Toolkit*
 * @Autor: Bruder Xiaochen*/
öffentliche Klasse ReflectUtil {

 privater statischer endgültiger Logger-Logger = LoggerFactory.getLogger (ReflectUtil.class);

 öffentliche statische Zeichenfolge getValue(Zeichenfolge Schlüssel, Objekt obj) {

  Zeichenfolgenwert = "";

  versuchen {

   // Aktuelle Eigenschaft abrufen PropertyDescriptor pd = new PropertyDescriptor(key, obj.getClass());
   //Get-Methode abrufen Method getMd = pd.getReadMethod();
   Wert = getMd.invoke(obj).toString();
  } Fang (Ausnahme e) {

   logger.error("Inhalt konnte nicht abgerufen werden!");
   e.printStackTrace();
  }

  Rückgabewert;
 }

 public static void setValue(String-Schlüssel, String-Wert, Objekt obj) {

  versuchen {

   // Aktuelle Eigenschaft abrufen PropertyDescriptor pd = new PropertyDescriptor(key, obj.getClass());
   // Die festgelegte Methode abrufen Method writeMd = pd.getWriteMethod();
   writeMd.invoke(Objekt, Wert);
  } Fang (Ausnahme e) {

   logger.error("Inhalt konnte nicht festgelegt werden!");
   e.printStackTrace();
  }
 }
}

4. Backend-Controller-Code

@RequestMapping(Wert = "/exportExcel",Methode = RequestMethod.GET,erzeugt = "application/json")
 public void exportExcel(HttpServletResponse httpServletResponse) throws IOException {

  // Header-Inhalt (kann im Frontend gesetzt und über Parameter übergeben werden) Key ist der Attributwert der Entity-Klasse, Value ist die Bezeichnung des Headers
  Map<String,String> Kopf = neue HashMap<>();
  head.put("userNo","Benutzernummer.");
  head.put("userName","Benutzername");
  head.put("Alter","Alter");

  //Tabellendateninhalt, der die aus der Datenbank abgefragten Daten simuliert List<User> data = new ArrayList<>();
  data.add(new User("1","Der Bruder des kleinen Chen","18"));
  data.add(neuer Benutzer("2","Kleine Schweinchenschwester","18"));
  data.add(neuer Benutzer("3","Big Pig Brother","18"));
  
  
  // Arbeitsmappe generieren HSSFWorkbook hssfWorkbook = ExcelUtil.createExcel(head, data);

  // Dateinamen festlegen String fileName = "Excel-Tabelle exportieren";

  httpServletResponse.setHeader("Cache-Steuerung", "max-age=0");
  httpServletResponse.setContentType("application/vnd.ms-excel");
  httpServletResponse.addHeader("Inhaltsdisposition", "Anhang;Dateiname=" + neuer String(Dateiname.getBytes("gb2312"),
    "ISO-8859-1") + ".xls");

  OutputStream outputStream = httpServletResponse.getOutputStream();

  hssfWorkbook.write(Ausgabestream);
  AusgabeStream.flush();
  outputStream.schließen();
 }

5. Zugriff auf die zugeordnete Adresse

Schnittstellenzugriff:

http://localhost:9090/FaultTreatment/api/standard/exportExcel

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über die Implementierung des Exports von HSSFWorkbook nach Excel in Java mit Apache.POI. Weitere Informationen zum Exportieren von HSSFWorkbook nach Excel in Apache.POI finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Java-Anwendung EasyExcel-Toolklasse
  • Beispielcode zur Verwendung der Alibaba Open Source-Technologie EasyExcel zum Bedienen von Excel-Tabellen in Java
  • Java verwendet easyExcel zum Exportieren von Excel-Daten.
  • Erfahren Sie, wie Sie Excel-Daten mit Java in MySQL importieren
  • Java zum Hinzufügen von Wasserzeichen in Excel (einzelnes Wasserzeichen, gekacheltes Wasserzeichen)
  • So exportieren Sie Excel schnell und elegant in Java
  • Easypoi implementiert in Java die Import- und Exportfunktion für mehrere Excel-Tabellenblätter
  • Java liest einfache allgemeine Excel-Tool-Klasse
  • Java-Schritte zum Verwenden von POI zum Importieren von Excel-Daten in die Datenbank
  • Java verwendet EasyExcel zum Importieren und Exportieren von Excel

<<:  Detaillierte Erläuterung der Anwendung der vier Zustände der Hyperverbindung

>>:  Details zur JS-Array-Deduplizierung

Artikel empfehlen

Auszeichnungssprachen – Was lernen, nachdem man HTML gelernt hat?

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Kurze Analyse der geplanten MySQL-Sicherungsaufgaben

Einführung Um Datenverlust in einer Produktionsum...

Detaillierte Erklärung der Anwendungsfälle von Vue-Listenern

Die erste Möglichkeit besteht darin, jQuery's...

Datenbankabfrage, welches Objekt welches Feld enthält, Methodenanweisung

Die Datenbank fragt ab, welches Objekt welche Fel...

Tutorial zur Verwendung des iostat-Befehls unter Linux

Vorwort Es wird gesagt, dass sich die für Betrieb...

Möglichkeiten zur Verbesserung der MongoDB-Leistung

MongoDB ist eine Hochleistungsdatenbank, bei der ...

Detaillierte Erläuterung der Einführung in die JavaScript-Funktion

Inhaltsverzeichnis Funktionseinführung Funktion E...

Memcached-Methode zum Erstellen eines Cache-Servers

Vorwort Viele Webanwendungen speichern Daten in e...

Vue Learning - Grundlagen des VueRouter-Routings

Inhaltsverzeichnis 1. VueRouter 1. Beschreibung 2...

So stellen Sie Kafka in Docker bereit

Inhaltsverzeichnis 1. Docker erstellen 2. Betrete...

So verwenden Sie Shell-Skripte in Node

Hintergrund Während der Entwicklung benötigen wir...

Beispielcode zur Implementierung der Ellipsenbahnrotation mit CSS3

In letzter Zeit müssen folgende Effekte erzielt w...

So implementieren Sie geplante MySQL-Aufgaben zur Datensicherung unter Linux

Vorwort Backup ist die Grundlage der Notfallwiede...