Skip to content

About

Java library for reading OpenDocument tables (ODS file)

Topics

Resources

Stars

9 stars

Watchers

1 watching

Forks

Latest commit

 

History

62 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ods-reader

Maven Central version

You want to import very large OpenDocument tables (ODS file) and worry about memory usage? In that case the ods-reader might be interesting for you. Instead of loading the entire document, it is a pull-based reader. It therefore has a very low memory consumption, even with huge documents.

Usage

Here is an example how to use the ods-reader:

  try (Document doc = new Document(new File("myTable.ods"))) {
    Table table = doc.nextTable();
    Row row = table.nextRow();
    while( row != null ) {
      Cell a = row.nextCell();
      Cell b = row.nextCell();
      System.out.println( a.getContent() + "\t" + b.getContent() );
      row = table.nextRow();
    }
  }

Maven

The library is available at Maven Central. You can add a dependency to ods-reader to you project like this:

<dependency>
    <groupId>de.zedlitz</groupId>
    <artifactId>ods-reader</artifactId>
    <version>1.2.0</version>
</dependency>

Cell types

ODS distinguishes between the value that is displayed for humans and the machine-readable value. The value that is displayed for humans depends on the language selected for the document. The method getContent() is used to get the language depending human-readable value.

The machine-reable value can be read using specialized methods that return suitable Java objects. Here is an example:

if ("date".equals(cell.getValueType())) {
    if( cell.isDateTime() ) {
        LocalDateTime dateTime = cell.asDateTime();
    } else {
        LocalDate date = cell.asDate();
    }
} else if ("boolean".equals(cell.getValueType())) {
    boolean b = cell.asBoolean();
} else if ("time".equals(cell.getValueType())) {
    LocalTime time = cell.asTime();
} else if (cell.getValue() != null) {
    result = cell.getValue();
} else {
    result = cell.getContent();
}

About

Java library for reading OpenDocument tables (ODS file)

Topics

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages