Excel Java组件Aspose.Cells功能亮点:检测超链接类型

翻译|行业资讯|编辑:李显亮|2019-09-18 13:35:49.827|阅读 28 次

概述:在Aspose.Cells for Java v19.8中有一些新的功能非常有趣和实用,比如从Excel文件中获取超链接列表,当然还有更多要探索的内容,例如提取嵌入式MOL文件,在转换为PDF / Image之前获取总页数,将SVG文件插入工作表以及支持Java 12。下面我们通过简单的示例来了解一下这些新功能的用法。

Aspose.Cells for JavaExcel电子表格处理API,允许开发人员在其自己的Java应用程序中嵌入读取,编写和操作电子表格的功能,而无需依赖Microsoft Excel。

在Aspose.Cells for Java v19.8中有一些新的功能非常有趣和实用,比如从Excel文件中获取超链接列表,当然还有更多要探索的内容,例如提取嵌入式MOL文件,在转换为PDF / Image之前获取总页数,将SVG文件插入工作表以及支持Java 12。下面我们通过简单的示例来了解一下这些新功能的用法。

>>Aspose.Cells for Java更新至v19.6,欢迎下载体验。


检测超链接类型

在Hyperlink类中引入了一个新属性LinkType,它使用上面提到的枚举器返回超链接类型。以下是可执行成员:

  • 外部链接
  • 文件\文件夹的本地和完整路径。
  • 电子邮件
  • 链接到单元格或命名范围
public static void main(String[] args) throws Exception {    
	//目录的路径   
	String sourceDir = Utils.Get_SourceDirectory();    
	Workbook workbook = new Workbook(sourceDir + "LinkTypes.xlsx");    
	//获取第一个(默认)工作表
	Worksheet worksheet = workbook.getWorksheets().get(0);    
	//创建范围A2:B3  
	Range range = worksheet.getCells().createRange("A1", "A7");    
	//获取范围内的超链接
	Hyperlink[] hyperlinks = range.getHyperlinks();    
	for (Hyperlink link : hyperlinks)    
	{    
		System.out.println(link.getTextToDisplay() + ": " + getLinkTypeName(link.getLinkType()));    
	}    
	System.out.println("DetectLinkTypes executed successfully.");    
}    
private static String getLinkTypeName(int linkType){    
	if(linkType == TargetModeType.EXTERNAL){    
		return "EXTERNAL";    
	} else if(linkType == TargetModeType.FILE_PATH){    
		return "FILE_PATH";    
	} else if(linkType == TargetModeType.EMAIL){    
		return "EMAIL";    
	} else {    
		return "CELL_REFERENCE";    
	}    
}

Excel Java组件Aspose.Cells功能亮点:检测超链接类型

(程序输出与模板Excel文件)

提取嵌入式MOL文件

以MDL Molfile格式创建的分子数据文件是一种化学文件格式,包含纯文本信息并存储有关原子和键的信息,通常用作分子信息的标准交换格式。这种类型的文件可以嵌入Excel文件中。在此最新版本中,提供了支持以提取这种不常见类型的对象,即MOL。以下代码段演示了如何提取嵌入式MOL文件并将其保存到磁盘。

//目录的路径.
String sourceDir = Utils.Get_SourceDirectory();
String outputDir = Utils.Get_OutputDirectory();

Workbook workbook = new Workbook(sourceDir + "EmbeddedMolSample.xlsx");
int index = 1;
for (Object obj : workbook.getWorksheets())
{
	Worksheet sheet = (Worksheet)obj;
	OleObjectCollection oles = sheet.getOleObjects();
	for (Object obj2 : oles)
	{
		OleObject ole = (OleObject)obj2;
		String fileName = outputDir + "OleObject" + index + ".mol ";
		FileOutputStream fos = new FileOutputStream(fileName);
		fos.write(ole.getObjectData());
		fos.flush();
		fos.close();
		index++;
	}
}

在PDF /图像创建之前获取总页数

当文件页面太多时,转换为pdf / image的过程可能会占用太多内存和CPU,并且可能会抛出OOM异常。在转换之前获取总页数可以指示此风险,并执行某些操作(例如,跳过此文件)或打印所选页面以避免不希望的结果。以下示例显示了新类SheetPrintingPreview和WorkbookPrintingPreview的用法。这两个类都包含一个属性EvaluatedPageCount,它返回打印输出或PDF文件的页数。

//目录的路径.
String sourceDir = Utils.Get_SourceDirectory();

Workbook workbook = new Workbook(sourceDir + "Book1.xlsx");
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
WorkbookPrintingPreview preview = new WorkbookPrintingPreview(workbook, imgOptions);
System.out.println("Workbook page count: " + preview.getEvaluatedPageCount());

SheetPrintingPreview preview2 = new SheetPrintingPreview(workbook.getWorksheets().get(0), imgOptions );
System.out.println("Worksheet page count: " + preview2.getEvaluatedPageCount());

推荐阅读:【Excel管理控件Aspose.Cells开发者指南】


*悦满中秋 · 购享好礼,现在购买Aspose系列产品即可领取精美礼品哟,更多活动详情咨询在线客服了解哦~




标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Aspose.Cells for Java

在基于Java的应用程序中可完全控制电子表格操作,不需要依赖Microsoft Excel。

Aspose.Cells

专业的电子表格控件,无需MS Excel也可满足一切Excel表格功能。

购物车 在线客服 在线QQ 电话咨询
400-700-1020
反馈
在线客服系统
live chat