在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文件)
提取嵌入式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进行处理,非常感谢!