OfficeOpenXml删除HyperLink

问题描述

我使用Powershell模块“ ImportExcel”生成xlsx报告。 在单元格中添加一些字符串,例如“ openstack-9cea5509-ed06-4301-b9e2-10f742e8c174:8”。 我无法删除HyperLink,下一个方法不起作用:

$d = @(
    [PSCustomObject]@{
        HLUNID = "String11`nString22"
        HostID = "String33`nStrong44"
    }
    [PSCustomObject]@{
        HLUNID = "String55`nString552"
        HostID = "openstack-9cea5509-ed06-4301-b9e2-10f742e8c174:8"
    }
)

Export-Excel -Path "out1.xlsx" -InputObject $d -WorksheetName 'Luns' -AutoNameRange
$Excel = Open-ExcelPackage -Path "out1.xlsx"
$Excel.Workbook.Worksheets['Luns'].Cells['HostID'] | Set-ExcelRange -ResetFont
$Excel.Workbook.Worksheets['Luns'].Cells[3,2].HyperLink = ''
Close-ExcelPackage -ExcelPackage $Excel

弦线钢撑可点击: Image - "Clickable cell"

不存在下一个方法

$Excel.Workbook.Worksheets['Luns'].Cells[3,2].HyperLink.Remove()
$Excel.Workbook.Worksheets['Luns'].Cells[3,2].HyperLink.dispose()

请给我另一种删除HyperLynk的方法

解决方法

尝试设置超链接 $null

$Excel.Workbook.Worksheets['Luns'].Cells[3,2].HyperLink = $null

它将删除超链接,但不会触及格式。

阅读我提议包含在模块中的管理超链接的方法和功能。 How to make Excel hyperlinks with PowerShell?