通过IFilePathProvider接口提供导出的工作表HTML文件路径

可能的使用场景

假设您有一个包含多个工作表的Excel文件,并且希望将每个工作表导出为单独的HTML文件。如果您的任何工作表都具有指向其他工作表的链接,那么这些链接在导出的HTML中将会断开。为了解决这个问题,Aspose.Cells提供了IFilePathProvider接口,您可以实现该接口来修复断开的链接。

通过IFilePathProvider接口提供导出的工作表HTML文件路径

请下载以下代码中使用的示例Excel文件及其导出的HTML文件。所有这些文件都在Temp目录中。您应该将其解压缩到C:驱动器上。然后它将变为C:\Temp目录。然后您将在浏览器中打开Sheet1.html文件,并单击其中的两个链接。这些链接指向C:\Temp\OtherSheets目录中的这两个导出的HTML工作表。

 file:///C:/Temp/OtherSheets/Sheet2.html#RANGE!A1

file:///C:/Temp/OtherSheets/Sheet3.html#RANGE!A1

以下截图显示了C:\Temp\Sheet1.html及其链接的外观

todo:image_alt_text

以下截图显示了HTML源代码。正如您所看到的,现在链接是指向C:\Temp\OtherSheets目录。这是通过IFilePathProvider接口实现的。

todo:image_alt_text

示例代码

请注意,C:\Temp目录仅用于说明目的。您可以使用任何自己选择的目录,并将示例Excel文件放在其中,并执行提供的示例代码。然后它将在您的目录内创建OtherSheets子目录,并在其中导出第二和第三个工作表的HTML。请在执行之前更改提供的代码中的dirPath变量并将其指向您选择的目录。

请注意,取消代码中这些行的注释将使Sheet1.htmlSheet2.htmlSheet3.html中的链接中断,或当单击Sheet1.html中的链接时将不会打开。

 //If you will comment this line, then hyperlinks will be broken

options.setFilePathProvider(new FilePathProvider());

以下是您可以使用提供的示例Excel文件执行的完整示例代码。