User Story
1. As an application developer, I want to inherit the default importer (io.keikai.import.XlsxImporter) to implement my custom importing behavior without creating an importer from the scratch.(e.g. importing part of the sheets instead of all sheets), so that I can manually import a file with my custom importer.
2. As an application developer, I want to replace Spreadsheet's default importer with my custom importer, so I can fulfill my custom importing requirements
Details
1. some fields are not protected e.g. _importPhase
2. some methods are private e.g. newXlsxExtractor()
3. imports(InputStream inputStream, String bookName) return a io.keikai.model.SBook instead of a io.keikai.api.model.Book, so an app developer has to wrap the importer again. Such a wrapping adds more complexity and make customization harder. It's better to eliminate this wrapping.