Skip to content
/ ods-reader Public

Java library for reading OpenDocument tables (ODS file)

License

Notifications You must be signed in to change notification settings

jze/ods-reader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ods-reader

Maven Central version Coverage

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:

  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.0.1</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

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages