`
53873039oycg
  • 浏览: 843731 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]poi取消excel2007超链接

    博客分类:
  • poi
 
阅读更多

          使用改变超链接位置的方式实现取消效果,效果如下。

          

        取消后:

        

      代码如下:

     

	public void deleteExcel2007AllHyperLink(String filePath) throws Exception {
		XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(filePath));
		Font hylinkFont = wb.createFont();
		hylinkFont.setColor(Font.COLOR_NORMAL);
		hylinkFont.setUnderline(Font.U_NONE);
		
		int totalSheet = wb.getNumberOfSheets();		
		for (int i = 0; i < totalSheet; i++) {
			XSSFSheet sheet = wb.getSheetAt(i);
			int rowCount = sheet.getLastRowNum();
			for (int r = 0; r <= rowCount; r++) {
				XSSFRow row = sheet.getRow(r);
				if (row != null) {
					int lastCellNum = row.getLastCellNum();
					XSSFCell cell = null;
					for (int c = 0; c <= lastCellNum; c++) {
						cell = row.getCell(c);
						if (cell == null) {
							continue;
						}
						XSSFHyperlink hylink = cell.getHyperlink();
						if (hylink != null) {
							//设置超链接位置为excel最后一个单元格位置,达到删除的功能
							hylink.setFirstRow(1048573);
							hylink.setLastRow(1048573);
							hylink.setFirstColumn(16383);
							hylink.setLastColumn(16383);
							hylink.setLabel(null);
							hylink.setAddress("");
							RichTextString richStr = new XSSFRichTextString(cell.getRichStringCellValue().getString());
							richStr.applyFont(hylinkFont);
							cell.setCellValue(richStr);
						}
					}
				}
			}
		}
		saveWorkBook(wb);
	}

	public void printExcelHyperLinkInfo(String filePath) throws Exception {
		Workbook wb = new XSSFWorkbook(new FileInputStream(filePath));
		int totalSheet = wb.getNumberOfSheets();
		for (int i = 0; i < totalSheet; i++) {
			Sheet sheet = wb.getSheetAt(0);
			int rowCount = sheet.getLastRowNum();
			for (int r = 0; r <= rowCount; r++) {
				Row row = sheet.getRow(r);
				if (row != null) {
					int lastCellNum = row.getLastCellNum();
					Cell cell = null;
					for (int c = 0; c <= lastCellNum; c++) {
						cell = row.getCell(c);
						if(cell==null){
							continue;
						}
						Hyperlink hylink = cell.getHyperlink();
						if (hylink != null) {
							StringBuffer sb = new StringBuffer();
							sb.append(" 工作簿名称:").append(sheet.getSheetName());
							sb.append(" 第").append((r + 1)).append("行");
							sb.append(" 第").append((c + 1)).append("列");
							sb.append(" 位置:").append(convertNumToLetter(c + 1)).append((r + 1));
							sb.append(" 单元格内容:").append(cell.getRichStringCellValue().getString());
							sb.append(" 超链接地址:").append(hylink.getAddress());
							sb.append(" 超链接内容:").append(hylink.getLabel());
							switch (hylink.getType()) {
							case 1:
								sb.append(" 超链接类型:").append("网页URL");
								break;
							case 2:
								sb.append(" 超链接类型:").append("文档");
								break;
							case 3:
								sb.append(" 超链接类型:").append("邮箱");
								break;
							case 4:
								sb.append(" 超链接类型:").append("文件");
								break;	
							default:
								sb.append(" 超链接类型:").append("未知");
								break;
							}
							sb.append(" 开始行:").append(hylink.getFirstRow()).append(" 开始列").append(hylink.getFirstColumn());
							sb.append(" 结束行:").append(hylink.getLastRow()).append(" 结束列").append(hylink.getLastColumn());
							System.out.println(sb.toString());
						}
					}
				}
			}
		}
		wb.close();
	}

	public String convertNumToLetter(int colNum) {
		String colLetter = "";
		do {
			colNum--;
			colLetter = ((char) (colNum % 26 + (int) 'A')) + colLetter;
			colNum = (int) ((colNum - colNum % 26) / 26);
		} while (colNum > 0);
		return colLetter;
	}

	public void saveWorkBook(Workbook wb) throws Exception {
		FileOutputStream fileOut = new FileOutputStream(
				"f:/saveFile/temp/sys_xlsx_" + System.currentTimeMillis()
						+ ".xlsx");
		wb.write(fileOut);
		fileOut.close();
	}

     全文完。

 

 

  • 大小: 32.5 KB
  • 大小: 32.1 KB
分享到:
评论

相关推荐

    java使用poi在excel单元格添加超链接,设置字体颜色(csdn)————程序.pdf

    本篇文章主要探讨如何利用POI在Excel单元格中添加超链接,并设置字体颜色。 首先,为了使用Apache POI库,你需要在Maven项目的pom.xml文件中引入以下依赖: ```xml &lt;!-- 主要的POI库 --&gt; &lt;groupId&gt;org.apache...

    poi做excel读取增加超链接

    下面是一个简单的代码示例,展示如何使用Apache POI添加和读取Excel超链接: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io....

    POI 生成EXCEL2007【含例子】

    标题 "POI 生成EXCEL2007【含例子】" 涉及到的知识点主要集中在Apache POI库的使用上,这是一个强大的Java API,用于读取、写入和修改Microsoft Office格式的文件,特别是Excel文件。在这个场景中,重点是创建和操作...

    表格导出EXCEL含超链接的POI方式

    JAVA开发中需要将表格中数据导出成EXCEL文件,其中的某一项又要设置为HTML格式,并支持点击链接,使用POI的开源方式导出时可以参考到此文件的内容!

    POI 实现Excel文件中点击超链接跳转到某sheet页某列某行的功能

    使用POI版本:3.10-FINAL*/ /* 建立新HSSFWorkbook对象*/ HSSFWorkbook wb = new HSSFWorkbook(); /* 建立新的sheet对象*/ HSSFSheet sheet = wb.createSheet("汇总页面"); HSSFRow row = sheet....

    poi解析excel2007

    最新版poi解析excel2007源码,简单实用,需要的可下.

    POI处理 excel2007

    ### POI处理 Excel 2007:详细解析与示例代码分析 #### 一、概述 Apache POI 是一个用于读写 Microsoft Office 格式文件的 Java API,包括 Excel、Word 和 PowerPoint 等。POI 提供了对 `.xls`(Excel 97-2003)和...

    POI解析excel2007和生成excel2007.docx

    下面是一个简单的Java代码示例,演示如何使用POI来读取Excel 2007文件: ```java //office2007工作区 XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream("D:/temp/test_poi.xlsx")); //获得该工作区的第一...

    java_poi实现excel导入导出

    Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...

    poi读取Excel2007文件

    标题中的“poi读取Excel2007文件”指的是使用Apache POI库来读取Microsoft Excel 2007及更高版本(XLSX格式)的文件。Apache POI是Java平台上的一个开源项目,它提供了API来处理Microsoft Office格式的文件,包括...

    poi excel poi excel poi excel

    ### POI Excel知识点详解 #### 一、Jakarta POI简介与Apache POI的作用 Jakarta POI 是 Apache POI 的早期项目名称,它提供了一组 API 来处理 Microsoft Office 文件格式,特别是针对 Excel(`.xls` 和 `.xlsx`)...

    poi操作excel2007

    Apache POI提供了对这种新格式的支持,让我们能够使用Java处理Excel 2007的文件。 首先,你需要在项目中添加Apache POI的依赖。对于版本3.8,你可以在Maven仓库中找到对应的JAR包,或者通过Maven或Gradle将其添加到...

    java Excel添加超链接源码

    本篇文章将详细介绍如何使用POI库来操作Excel,并向单元格中添加超链接。 首先,让我们了解什么是Apache POI。Apache POI是一个开源项目,它提供了一组API,允许程序员创建、修改和显示Microsoft Office文件。在...

    poi添加超链接

    在使用 POI 处理 Excel 文件时,经常需要给单元格添加超链接功能,这不仅可以提升文档的交互性,还能方便用户快速访问相关信息。 #### 二、基础知识 1. **HSSFWorkbook**:代表 Excel 工作簿对象。 2. **HSSFSheet...

    POI解析Excel2007

    在描述中提到的"POI解析Excel2007",指的是使用Apache POI处理Microsoft Excel 2007(以及之后版本)创建的.xlsx文件。这种格式基于Open XML标准,与早期的.xls文件不同,它采用ZIP存档结构存储数据,因此可以包含...

    java使用POI操作excel (支持excel2007)

    Java 使用Apache POI库操作Excel 2007文件详解 在Java开发中,处理Excel文件是一项常见的任务,特别是对于数据分析、数据导入导出或报表生成等场景。Apache POI是一个流行的开源库,它允许开发者读写Microsoft ...

    POI导出Excel文件

    Apache POI是一个流行的Java库,用于读取和写入Microsoft Office格式的文件,尤其是Excel(.xlsx和.xls)文件。这个实例提供了两种方法来导出Excel文件:通过Servlet和通过main方法。这两种方法都是在Java环境中操作...

    POI解析excel2007和生成excel2007.pdf

    POI解析excel2007和生成excel2007.pdf Apache POI 是一个开源的 Java 库,用于读取和写入各种 Microsoft Office 文件格式,包括 Excel、Word、PowerPoint 等。今天,我们将讨论如何使用 Apache POI 来解析 excel...

    poi解析excel2003和excel2007所需要的jar包

    用poi操作excel2007时需要用到的jar包: poi项目的:1.poi-3.9-20121203.jar 2.poi-ooxml-3.9-20121203.jar 3.poi-ooxml-schemas-3.9-20121203.jar dom4j项目的:dom4j-1.6.1.jar xmlbeans项目的:xbean.jar ...

    poi读取excel2007和2003兼容工具例子

    综上所述,Apache POI结合简单工厂模式,为Java开发者提供了一种高效、灵活的方式来读取和处理Excel文件,无论它们是2003的.xls格式还是2007及以后的.xlsx格式。在实际开发中,这样的工具能够帮助我们构建跨版本兼容...

Global site tag (gtag.js) - Google Analytics