poi にハイパーリンク テキストを含む Excel ファイルの読み取りに問題があります。
データはそのようなものです (Excel ファイル):
|1| タイプ| カテゴリ| ジョブタイプ| 位置| 名前| メール
|2| テスト | テスト 開発者 | パートタイム | マネージャー | ホン | asdf##@dsaf.com(ハイパーリンク)
|3| テスト | テスト 開発者 | パートタイム | マネージャー | アデ | test@mail.com(ハイパーリンク)
|4| テスト | テスト 開発者 | パートタイム | マネージャー | アデ | aaaaaaa(非ハイパーリンク)
ワークブック オブジェクトを作成するには、WorkbookFactory.create(InputStream inp)
メソッドを使用します。
コードは次のとおりです。
public POIExcelImport(String name, InputStream inputStream) throws ExcelImportException {
super(name, null);
try {
logger.debug("before work : {}", this.workbook);
this.workbook = WorkbookFactory.create(inputStream);// exception
} catch (InvalidFormatException e) {
throw new ExcelImportException(e);
} catch (IOException e) {
throw new ExcelImportException(e);
}
if(XSSFWorkbook.class.isAssignableFrom(workbook.getClass()))
this.type = ExcelFileType.XLSX;
else
this.type = ExcelFileType.XLS;
}
メソッドを呼び出すとcreate
、例外がスローされました。
java.lang.IllegalStateException: The hyperlink for cell F2 references relation rId1, but that didn't exist!
at org.apache.poi.xssf.usermodel.XSSFHyperlink.<init>(XSSFHyperlink.java:71) ~[poi-ooxml-3.8.jar:3.8]
at org.apache.poi.xssf.usermodel.XSSFSheet.initHyperlinks(XSSFSheet.java:204) ~[poi-ooxml-3.8.jar:3.8]
at org.apache.poi.xssf.usermodel.XSSFSheet.read(XSSFSheet.java:157) ~[poi-ooxml-3.8.jar:3.8]
at org.apache.poi.xssf.usermodel.XSSFSheet.onDocumentRead(XSSFSheet.java:129) ~[poi-ooxml-3.8.jar:3.8]
at org.apache.poi.xssf.usermodel.XSSFWorkbook.onDocumentRead(XSSFWorkbook.java:269) ~[poi-ooxml-3.8.jar:3.8]
at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:159) ~[poi-ooxml-3.8.jar:3.8]
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:183) ~[poi-ooxml-3.8.jar:3.8]
at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:73) ~[poi-ooxml-3.8.jar:3.8]
at dreaminfra.ipams.common.excel.poi.POIExcelImport.<init>(POIExcelImport.java:49) ~[ipams-core-1.0.0.jar:na]
ハイパーリンクを削除したいのですが、ハイパーリンクの作成に関する問題しかありません。
考えがありません、何か考えはありますか?