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

在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系列产品即可领取精美礼品哟,更多活动详情咨询在线客服了解哦~

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月15日
下一篇 2019年8月15日

相关推荐

发表回复

登录后才能评论