任意の .xlsx ファイルのセル コンテンツで .png ファイルをハイパーリンクしようとしています。以下はコードの一部であり、java.net.URISyntaxException 例外を示しています (アドレスにスラッシュが使用されているためと思われます)。ただし、 link.setAddress("test.png") を変更してもエラーは表示されませんが、私の目的は解決されません。私を助けてください。
public static void main(String[]args) throws Exception{
XSSFWorkbook wb = new XSSFWorkbook();
CreationHelper createHelper = wb.getCreationHelper();
CellStyle hlink_style = wb.createCellStyle();
Font hlink_font = wb.createFont();
hlink_font.setUnderline(Font.U_SINGLE);
hlink_font.setColor(IndexedColors.BLUE.getIndex());
hlink_style.setFont(hlink_font);
XSSFSheet sheet = wb.createSheet("Hyperlinks");
XSSFCell cell = sheet.createRow(1).createCell((short)0);
cell.setCellValue("File Link");
Hyperlink link = createHelper.createHyperlink(Hyperlink.LINK_FILE);
link.setAddress("H:\\Selenium\\XL\\src\\santosh\\xlwork\\test.png");
cell.setHyperlink(link);
cell.setCellStyle(hlink_style);
FileOutputStream out = new FileOutputStream("hyperlinks.xlsx");
wb.write(out);
out.close();
}
最終的に私がする必要があるのは、スクリーンショットを任意のセルにハイパーリンクすることです。スクリーンショット ディレクトリは、Eclipse ワークスペース以外の場所になります。