Я пытаюсь создать гиперссылку на файл .png в содержимом ячейки любого файла .xlsx. Ниже приведена часть кода, в которой показано исключение 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.
H:\blah
не является допустимым URI, так что исключение кажется правильным. Вы пробовали сfile:///H:/....
- правильный способ кодирования такого пути как URL-адрес - person Gagravarr   schedule 21.05.2013