Heim  >  Artikel  >  Java  >  Java liest Excel

Java liest Excel

大家讲道理
大家讲道理Original
2017-08-19 13:49:092068Durchsuche

Java liest Excel-Tabellen

Poi-Technologie wird im Allgemeinen zum Lesen von Excel-Tabellen verwendet, aber was ist diese Technologie?

Was ist Apache POI?

Apache POI ist eine beliebte API, die es Programmierern ermöglicht, MS Office-Dateien mit Java-Programmen zu erstellen, zu ändern und anzuzeigen. Diese von der Apache Software Foundation entwickelte Open-Source-Bibliothek verwendet Java, um das Design oder die Änderung von Microsoft Office-Dateien zu verteilen. Es enthält Klassen und Methoden zum Dekodieren von Benutzereingabedaten oder Dateien in MS Office-Dokumente.

Apache POI

Apache POI ist eine 100 % Open-Source-Bibliothek, die von der Apache Software Foundation bereitgestellt wird. Die meisten kleinen und mittleren Anwendungsentwicklungen basieren hauptsächlich auf Apache POI (HSSF + XSSF). Es unterstützt alle Grundfunktionen der Excel-Bibliothek; Rendering und Textextraktion sind jedoch seine Hauptfunktionen.

Java liest Excel

Arbeitsmappe

Dies ist die Superschnittstelle für alle Klassen, die Excel-Arbeitsmappen erstellen oder verwalten. Es gehört zum Paket org.apache.poi.ss.usermodel. Es gibt zwei Klassen, die diese Schnittstelle wie folgt implementieren:

  • HSSFWorkbook: Diese Klasse verfügt über Methoden zum Lesen und Schreiben von Microsoft Excel-Dateien im XLS-Format. Es ist mit der Microsoft Office-Version 97-2003 kompatibel.

  • XSSFWorkbook: Diese Klasse verfügt über Methoden zum Lesen und Schreiben von Microsoft Excel- und OpenOffice-XML-Dateien im Format .xls oder .xlsx. Es ist kompatibel mit MS-Office Version 2007 oder höher.

HSSFWorkbook

Es handelt sich um eine High-Level-Klasse im Paket org.apache.poi.hssf.usermodel. Es implementiert die Workbook-Schnittstelle für das XLS-Format in Excel-Dateien. Nachfolgend sind einige Methoden und Konstruktoren dieser Klasse aufgeführt.

Konstruktor der Klasse

S.No. Konstruktionsfunktionen und Beschreibung
1
S.No. 构造函数和说明
1

HSSFWorkbook()

从头开始创建一个新的HSSFWorkbook对象时。

2

HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)

创建一个特定的目录中一个新的HSSFWworkbook对象。

3

HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)

给定一个POIFSFileSystem对象和特定的目录中,它创建了一个SSFWorkbook对象读取指定的工作簿。

4

HSSFWorkbook(java.io.InputStream s)

创建使用输入流中的新HSSFWorkbook对象时。

5

HSSFWorkbook(java.io.InputStream s, boolean preserveNodes)

构建在输入流的POI文件系统。

6

HSSFWorkbook(POIFSFileSystem fs)

使用POIFSFileSystem对象构造的新HSSFWorkbook对象时。

7

HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)

给定一个POIFSFileSystem对象时,它会创建一个新的HSSFWorkbook对象时读取指定的工作簿。

HSSFWorkbook()

Erstellen Sie ein völlig neues HSSFWorkbook Objekt.
    2
  • HSSFWorkbook(DirectoryNode-Verzeichnis, boolesche PreserveNodes)

    Erstellen Ein neues HSSFWworkbook-Objekt in einem bestimmten Verzeichnis.
  • 3
  • HSSFWorkbook(DirectoryNode-Verzeichnis, POIFSFileSystem fs, boolesche PreserveNodes)

    Bei einem POIFSFileSystem-Objekt und einem bestimmten Verzeichnis wird ein SSFWorkbook-Objekt erstellt, um die angegebene Arbeitsmappe zu lesen.
  • 4
  • HSSFWorkbook(java.io.InputStream s)

    Beim Erstellen eines neuen HSSFWorkbook-Objekts mithilfe eines Eingabestreams.
  • 5 HSSFWorkbook(java.io.InputStream s, boolean PreserveNodes)

    Erstellen Sie das POI-Dateisystem auf dem Eingabestream.

    6 HSSFWorkbook(POIFSFileSystem fs)

    Erstellt mit dem POIFSFileSystem Objekt neues HSSFWorkbook-Objekt.

    7 HSSFWorkbook(POIFSFileSystem fs, boolean PreserveNodes)
    S.No. 构造函数和说明
    1

    XSSFWorkbook()

    从头开始创建一个新的XSSFworkbook对象。

    2

    XSSFWorkbook(java.io.File file)

    构造从给定文件中的XSSFWorkbook对象。

    3

    XSSFWorkbook(java.io.InputStream is)

    构造一个XSSFWorkbook对象,通过缓冲整个输入流到内存中,然后为它打开一个OPCPackage对象。

    4

    XSSFWorkbook(java.lang.String path)

    构建一个给定文件的完整路径的XSSFWorkbook对象。

    Geben Wenn ein POIFSFileSystem-Objekt angegeben wird, erstellt es ein neues HSSFWorkbook-Objekt, wenn die angegebene Arbeitsmappe gelesen wird.
    Gemeinsame Parameter innerhalb dieser Konstrukte: Verzeichnis: Dies wird vom POI-Dateisystem verwaltet Verzeichnis. fs: Es ist das Dateisystem, das den POI des Buchstreams enthält. preservenodes: Dies ist ein optionaler Parameter, der bestimmt, ob andere Knoten wie Makros beibehalten werden sollen. Es verbraucht viel Speicher, da es das gesamte POIFileSystem im Speicher speichert (falls festgelegt). Hinweis: Die HSSFWorkbook-Klasse enthält viele Methoden, diese sind jedoch nur mit dem XLS-Format kompatibel. In diesem Tutorial liegt der Schwerpunkt auf der neuesten Version des Excel-Dateiformats. Daher werden die Methoden der HSSFWorkbook-Klasse hier nicht aufgeführt. Wenn Sie die Methoden dieser Klassen benötigen, lesen Sie bitte die POI-HSSFWorkbook-Klassen-API unter https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.XSSFWorkbookEs handelt sich um eine Klasse zur Darstellung von Excel-Dateiformaten auf hoher und niedriger Ebene. Es gehört zum Paket org.apache.xssf.usemodel und implementiert die Workbook-Schnittstelle. Nachfolgend sind die Methoden und Konstruktoren dieser Klasse aufgeführt. Konstruktor der Klasse
    S.No. Konstruktionsfunktionen und Beschreibung
    1 XSSFWorkbook()Erstellen Sie eine neue XSSF-Arbeitsmappe von Grund auf Objekt.
    2 XSSFWorkbook(java.io.File file) Konstruiert ein XSSFWorkbook-Objekt aus der angegebenen Datei.
    3 XSSFWorkbook(java.io.InputStream is) Erstellen Sie ein XSSFWorkbook-Objekt, indem Sie den gesamten Eingabestream im Speicher puffern, und öffnen Sie dann ein OPCPackage-Objekt dafür.
    4 XSSFWorkbook(java.lang.String path) Konstruiert ein XSSFWorkbook-Objekt mit dem vollständigen Pfad zu einer Datei.

    Sheet

    Sheet ist eine Schnittstelle im Paket org.apache.poi.ss.usermodel. Sie wird zum Erstellen von High- oder Low-Level-Dateien verwendet Spezifische Namen für alle Tabellenkalkulationsklassen. Der gebräuchlichste Tabellenkalkulationstyp ist ein Arbeitsblatt, das als Zellenraster dargestellt wird.

    HSSFSheet

    Dies ist eine Klasse im Paket org.apache.poi.hssf.usermodel. Es kann Excel-Tabellen erstellen, was den Blattmodus und das Tabellendatenformat ermöglicht.

    Konstruktor der Klasse

    S.No. Konstruktionsfunktionen und Beschreibungen
    1
    S.No. 构造函数及描述
    1

    HSSFSheet(HSSFWorkbook workbook)

    创建新HSSFSheet通过调用HSSFWorkbook从头开始创建一个表。

    2

    HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)

    创建HSSFSheet表示给定表对象。

    HSSFSheet(HSSFWorkbook-Arbeitsmappe)

    Erstellen Sie ein neues HSSFSheet über Rufen Sie HSSFWorkbook auf, um eine Tabelle von Grund auf zu erstellen.

    2 HSSFSheet(HSSFWorkbook-Arbeitsmappe, InternalSheet-Blatt)

    Erstellen HSSFSheet repräsentiert das angegebene Tabellenobjekt.
    S.No. 构造函数及描述
    1

    XSSFSheet()

    创造了新的XSSFSheet- 调用XSSFWorkbook从头开始创建一个表。

    2

    XSSFSheet(PackagePart part, PackageRelationship rel)

    创建XSSFSheet表示给定包的一部分和关系。

    XSSFSheet

    S.No. 方法和描述
    1

    addMergedRegion(CellRangeAddress region)

    添加单元的合并区域(因此这些单元格合并形成一个)。

    2

    autoSizeColumn(int column)

    调整列宽,以适应的内容。

    3

    iterator()

    此方法是用于rowIterator()的别名,以允许foreach循环

    4

    addHyperlink(XSSFHyperlink hyperlink)

    注册超链接的集合中的超链接此工作表格上

    Dies ist eine Kategorie, die eine allgemeine Darstellung von Excel-Tabellen darstellt. Dies befindet sich im Paket org.apache.poi.hssf.usermodel.


    Konstruktor der Klasse

    S.No. Konstruktionsfunktionen und Beschreibungen
    1

    XSSFSheet()

    Erstellt ein neues XSSFSheet – Call XSSFWorkbook um eine Tabelle von Grund auf zu erstellen.

    2

    XSSFSheet(PackagePart part, PackageRelationship rel)

    Erstellen XSSFSheet stellt Teile und Beziehungen eines bestimmten Pakets dar.

    Klassenmethode

    S.No.
    Methode und Beschreibung
    1
    S.No. 描述
    1

    createCell(int columnIndex)

    创建新单元行并返回。

    2

    setHeight(short height)

    设置短单位的高度。

    addMergedRegion(CellRangeAddress region)


    Fügt einen zusammengeführten Bereich von Zellen hinzu (sodass die Zellen zu einer einzigen zusammengeführt werden).

    2

    autoSizeColumn(int Column)

    Passen Sie die Spaltenbreite an , passend zum Inhalt.

    3

    iterator()

    Diese Methode wird für rowIterator verwendet (), um eine foreach-Schleife zuzulassen

    4

    addHyperlink(XSSFHyperlink hyperlink)

    Registrieren Sie einen Hyperlink in einer Sammlung von Hyperlinks auf diesem Arbeitsblatt

    Die übrigen Methoden dieser Klasse finden Sie unter Die vollständige API finden Sie unter:

    https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html.

    Zeile

    Dies ist an der Schnittstelle der Organisation. apache.poi.ss.usermodel-Paket. Es handelt sich um eine allgemeine Darstellung einer Tabelle für eine Zeile. Es handelt sich um eine Superschnittstelle, die alle Klassen in der POI-Bibliothek repräsentiert.
    public static void excel() throws Exception {        //用流的方式先读取到你想要的excel的文件
            FileInputStream fis=new FileInputStream(new File(System.getProperty("user.dir")+"/src/excel.xls"));        //解析excel
            POIFSFileSystem pSystem=new POIFSFileSystem(fis);        //获取整个excel
            HSSFWorkbook hb=new HSSFWorkbook(pSystem);
            System.out.println(hb.getNumCellStyles());        //获取第一个表单sheet
            HSSFSheet sheet=hb.getSheetAt(0);        //获取第一行
        int firstrow=    sheet.getFirstRowNum();    //获取最后一行
        int lastrow=    sheet.getLastRowNum();    //循环行数依次获取列数
            for (int i = firstrow; i  list=new ArrayList();            for (int j = firstcell; j <lastcell>0) {
                    user.setUsername(list.get(1));
                    user.setPassword(list.get(2));
                }
                BaseDAO dao=new BaseDAO();
                dao.save(user);
                System.out.println();
                }
            }
            fis.close();
        }</lastcell>

    XSSFRow

    Dies ist eine Klasse im Paket org.apache.poi.xssf.usermodel. Es implementiert die Row-Schnittstelle, sodass Zeilen in einer Tabelle erstellt werden können. Nachfolgend sind die Methoden und Konstruktoren dieser Klasse aufgeführt.

    Klassenmethode
    S.No. Beschreibung th>
    1 createCell(int columnsIndex)Erstellt eine neue Zellenzeile und kehrt zurück.
    2 setHeight(short height)Legen Sie die kurze Einheit fest hoch.
    Die übrigen Methoden dieser Klasse finden Sie unter folgendem Link: https://poi.apache.org/apidocs /org /apache/poi/xssf/usermodel/XSSFRow.htmlcellDies ist die Schnittstelle im Paket org.apache.poi.ss.usermodel. Es handelt sich um eine Superschnittstelle für alle Klassen, die Zellen in einer Zeile in einer Tabellenkalkulation darstellen. Zellen können verschiedene Attribute wie Leerzeichen, Nummer, Datum, Fehler usw. verwenden. Zellen sollten ihre eigene (0-basierte) Nummer haben, bevor sie einer Zeile hinzugefügt werden. XSSFCellDies ist eine Klasse im Paket org.apache.poi.xssf.usermodel. Es implementiert die Zellschnittstelle. Es handelt sich um eine allgemeine Darstellung der Zellenzeilen in einer Tabellenkalkulation. Jetzt verwende ich Java, um das Lesen einer Excel-Tabelle zu implementieren Code-Implementierung

    Das obige ist der detaillierte Inhalt vonJava liest Excel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Vorheriger Artikel:Feder-IOC-ContainerNächster Artikel:Feder-IOC-Container