我使用Apache POI來生成包含多個工作表的Excel工作簿。我想創建一個從一張到另一張的超鏈接。如何做到這一點?我發現了一些解決方案,用於建立與網站的超鏈接,甚至是其他Excel文件,但不包括同一工作簿中的其他工作表。 Apache POI是否允許我們這樣做?超鏈接到同一工作簿中使用apache poi的不同工作表
3
A
回答
3
是的,Apache POI允許您創建超鏈接到同一工作簿中的另一張工作表。根據Apache POI Quick Guide:
cell = sheet.createRow(3).createCell((short)0);
cell.setCellValue("Worksheet Link");
Hyperlink link2 = createHelper.createHyperlink(Hyperlink.LINK_DOCUMENT);
link2.setAddress("'Target Sheet'!A1");
cell.setHyperlink(link2);
cell.setCellStyle(hlink_style);
這將創建LINK_DOCUMENT
類型的在它的超鏈接的小區,與小區的參考的地址,其可以是相同的片材或片材的另一個。然後它將單元格樣式設置爲現有單元格樣式(在代碼示例中早先創建),以便它看起來像超鏈接。
0
您還可以鏈接到使用POI的另一個工作表中的單元格地址。
將您的鏈接創建爲Hyperlink.LINK_DOCUMENT類型。那麼在這種格式發送setHyperlink()的字符串:
文件:/ E:/PROJECTS/SomePrj/ExcelFileName.xlsx#'ExcelSheetName「B5
,將工作 - 至少XSSF!
使用aFile.toURI()。toString()在'#'字符之前構建filepart。不要忘記同時添加#,'和!字符(正好在我的例子中)或它不會工作。
我沒有看到這種技術在(否則很好)POI文檔中演示。
0
我找到了正確的方法。測試poi 3.16並解決了不允許鏈接空間的問題(表名可以有空格)。如果您嘗試 link.setAddress("ExcelWrite.xlsx#'Sheet 1'!A2");
正確的代碼,你會得到錯誤:
cell = sheet.createRow(1).createCell(0);
cell.setCellValue("File Link");
XSSFHyperlink link = (XSSFHyperlink) createHelper.createHyperlink(HyperlinkType.FILE);
link.setAddress("ExcelWrite.xlsx");
link.setLocation("'Sheet 1'!A2");
cell.setHyperlink(link);
cell.setCellStyle(hlink_style);
相關問題
- 1. 超鏈接在Excel中到另一個工作表在同一工作簿
- 2. excel - 超鏈接到不同的工作簿和特定的工作表?
- 3. apache poi將一種樣式應用於不同的工作簿
- 4. 在SXSSF工作簿中使用Apache POI 3.8-beta4創建超鏈接的問題
- 5. VBA粘貼到不同的工作簿,不同的工作表
- 6. 將不同工作簿中的列移動到不同工作表中的單個工作簿中
- 7. 使用apache POI將hashmap的每個元素(鍵值對)寫入同一工作簿中的不同excel表單
- 8. 是否可以將克隆的工作表插入到不同的工作簿中? APACHE POI
- 9. 保存2在同一工作簿不同的工作表使用的編碼
- 10. 工作簿的Apache POI默認樣式
- 11. 獲取InputStream forom Apache的POI工作簿
- 12. 的Apache POI錯誤打開工作簿
- 13. 將工作簿中的超文本鏈接複製到工作簿
- 14. 通過超鏈接打開工作簿,然後使用超鏈接名稱作爲工作簿參考
- 15. Excel超鏈接/導航到不同的工作表
- 16. 將多個工作表複製到不同的工作簿
- 17. 通過VBA創建到不同工作簿的鏈接
- 18. 從一個文件夾複製到不同的表在一個工作簿複製不同的工作簿
- 19. 超鏈接屏幕提示導致工作簿需要我使用VBA創建在Excel中的不同工作表的超鏈接到細胞修復
- 20. VBA:將不同工作簿中的某些工作表合併到一個工作簿中
- 21. 使用不同工作簿的參考
- 22. 在他們都在同一工作簿中的工作表之間創建超鏈接
- 23. 如何使用apache poi eventusermodel從.xlsx文件到工作簿?
- 24. 使用Apache Poi從excel工作簿中刪除工作表後,工作表仍然存在?
- 25. Apache POI。複製工作表
- 26. 宏,使用數組將工作表複製到不同的工作簿
- 27. 將不同工作簿中的數據合併到特定工作表的主工作簿中
- 28. Step by step將一個工作表複製到兩個不同工作簿中的另一個工作表
- 29. 得到錯誤,而在不同的工作,但是,同一工作簿
- 30. 將具有相同名稱的不同工作簿中的表合併到主工作簿中
對不起剪切和粘貼小鬼 - 在您需要定義的聯繫,Hyperlink.LINK_URL另一個工作表鏈接到一個單元格地址。使用Hyperlink.LINK_DOCUMENT會限制您在同一文檔中的鏈接 –