当前位置: 首页 > 知识库问答 >
问题:

java - Java 中如何给 Excel 的单元格设置超链接?

董康平
2023-12-05

Java 中如何给 Excel 的单元格设置超链接
我想导入一个excel文件,并且通过java代码给某个单元格设置超链接(业务需求)。请问大家有什么思路没

共有1个答案

岳京
2023-12-05

你如果使用poi 组件来写入Excel 直接有方法调用,例如

XSSFRow row3 = sheet.createRow(5);        XSSFCell cell3 = row3.createCell(0);        cell3.setCellValue("链接到百度网站");        XSSFHyperlink hyperlink2 = creationHelper.createHyperlink(HyperlinkType.URL);        hyperlink2.setAddress("https://www.baidu.com/");        cell3.setHyperlink(hyperlink2);
import org.apache.poi.common.usermodel.HyperlinkType;import org.apache.poi.ss.util.CellRangeAddress;import org.apache.poi.xssf.usermodel.*;import java.awt.Color;import java.io.File;import java.io.FileOutputStream;public class StyleStudy {    public static void main(String[] args) {        FileOutputStream out = null;        XSSFWorkbook xSSFWorkbook = null;        try {            xSSFWorkbook = new XSSFWorkbook();            margeCell(xSSFWorkbook);            out = new FileOutputStream(new File("C:\\Users\\Administrator\\Desktop\\test\\study\\"+System.currentTimeMillis()+".xlsx"));            xSSFWorkbook.write(out);            System.out.println("EXCEL文件已生成=========");        }catch (Exception e){            e.printStackTrace();        }    }    /**     * 单元格设置     * @param workbook     */    private static void margeCell(XSSFWorkbook workbook) {        XSSFSheet sheet = workbook.createSheet();        // 合并单元格,1到4行,1到4列进行合并        XSSFRow row1 = sheet.createRow(0);        row1.createCell(0).setCellValue("合并单元格");        sheet.addMergedRegion(new CellRangeAddress(0,3,0,3));        /**         * 设置超链接         */        XSSFRow row2 = sheet.createRow(4);        XSSFCell cell2 = row2.createCell(0);        cell2.setCellValue("另一个sheet页的指定位置");        XSSFCreationHelper creationHelper = workbook.getCreationHelper();        XSSFHyperlink hyperlink = creationHelper.createHyperlink(HyperlinkType.DOCUMENT);        // 链接到此Excel的任何地方,以“!”分割,前面表示sheet的名字,没有则本sheet页进行跳转        hyperlink.setAddress("跳转sheet页!A10");        cell2.setHyperlink(hyperlink);        // 创建第二个sheet页提供跳转        XSSFSheet sheet1 = workbook.createSheet("跳转sheet页");        sheet1.createRow(9).createCell(0).setCellValue("跳转到这里");        // 链接到指定网站        XSSFRow row3 = sheet.createRow(5);        XSSFCell cell3 = row3.createCell(0);        cell3.setCellValue("链接到百度网站");        XSSFHyperlink hyperlink2 = creationHelper.createHyperlink(HyperlinkType.URL);        hyperlink2.setAddress("https://www.baidu.com/");        cell3.setHyperlink(hyperlink2);        // 打开指定文件        XSSFRow row4 = sheet.createRow(5);        XSSFCell cell4 = row4.createCell(0);        cell4.setCellValue("链接到指定文件");        XSSFHyperlink hyperlink3 = creationHelper.createHyperlink(HyperlinkType.FILE);        File file = new File("C:\\Users\\Administrator\\Desktop\\test\\4、图片文件\\01.jpg");        String filePath = file.toURI().toString();        System.out.println("文件路径:"+filePath);        hyperlink3.setAddress(filePath);        cell4.setHyperlink(hyperlink3);    }
 类似资料:
  • 本文向大家介绍如何使用Java在excel单元格中设置超链接,包括了如何使用Java在excel单元格中设置超链接的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了如何使用Java在excel单元格中设置超链接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 (一)问题引入   有时候我们在导入数据到excel中时可能要给某个文件或图片设

  • 我需要将Excel行从一张工作表复制到另一张工作表。但是在复制而不是实际值之后,我得到了不同的值。有字符串值的单元格没有问题,但有数值的单元格没有问题。Excel单元格可以包含任何类型的值。我的代码应该接受所有这些内容,并将它们复制到另一张表中。请帮我解决这个问题。 我知道row.get单元格(二)"是转换类型单元格字符串,但我想设置setCellValue接受单元格,可以有任何类型的数据(例如:

  • 问题内容: 我试图将图像放入带有Java的Excel单元格中,但没有成功,这是我正在使用的代码,但是我唯一要做的就是将图像放入excel工作表中,而不放在指定的单元格中 问题答案: 您已经在做的是将锚定图像定位到左上方的单元格()。然后,您已经将图像调整为原始大小。 如果图像适合该单元格,则必须使用左上单元格 和 右下单元格创建锚点。而且,请勿将图像调整为原始大小。 例: 如果从程序行中删除注释符

  • 这并不是重复的,尽管这个问题在2011年已经在这个论坛上提出过:从Excel文档中获取超链接URL,2013年用Python从Excel(.xlsx)中提取超链接,2014年用XLRD从Python中的Excel表超链接中获取URL;还是没有答案。在深入研究了xlrd模块之后,data_sheet.hyperlink_map.get((row,col))项似乎会跳转,因为在用Python从Exce

  • 我有一个预定义的excel文件,这是一种形式,其中大部分的信息已经提到,但我必须只输入姓名,地址等细节从我的应用程序用Java。 我可以存储单元格(如A12、B20等),并使用Apache POI库和方法轻松地更新这些单元格。但我希望它是动态的。例如,如果用户将名称单元格从A12更改为B12,Java代码不应该被修改。