You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerShell从Excel中提取加粗文本并存入变量

实现方法

你当前使用的是ImportExcel模块的EPPlus组件操作xlsx文件,单元格内部分内容加粗属于富文本格式,无法直接通过单元格的Value属性获取,遍历单元格的RichText集合筛选带加粗标记的文本段拼接即可。

完整代码

# 打开目标xlsx文件
$excel = Open-ExcelPackage -Path './test.xlsx'
# 获取指定工作表
$worksheet = $excel.Workbook.Worksheets['Sheet1']

# 提取指定单元格(示例为A1单元格)内的所有加粗文本
$targetCell = $worksheet.Cells['A1']
$StringBold = ($targetCell.RichText | Where-Object { $_.Bold -eq $true } | ForEach-Object { $_.Text }) -join ''

# 如果需要提取整个工作表所有单元格内的加粗文本,替换上面的$StringBold赋值逻辑为以下代码即可
# $allBoldContent = @()
# foreach ($cell in $worksheet.Cells) {
#     if ($cell.RichText.Count -gt 0) {
#         $boldPartInCell = ($cell.RichText | Where-Object { $_.Bold } | ForEach-Object { $_.Text }) -join ''
#         if (-not [string]::IsNullOrWhiteSpace($boldPartInCell)) {
#             $allBoldContent += $boldPartInCell
#         }
#     }
# }
# $StringBold = $allBoldContent -join "`n"

# 输出查看提取结果
$StringBold

# 关闭文件释放资源
Close-ExcelPackage -ExcelPackage $excel

注意事项

  • 上述逻辑自动兼容单元格内多段分散加粗的场景,会把所有符合加粗格式的文本片段拼接为完整字符串
  • 该方法不需要本地安装Microsoft Office,ImportExcel模块直接解析xlsx文件结构,比COM对象调用方式更稳定轻量
  • 如果需要定位其他单元格,可修改$targetCell的赋值规则:按行号列号定位可写为$worksheet.Cells[行号,列号],比如$worksheet.Cells[3,2]对应第3行第2列的B3单元格

内容的提问来源于stack exchange,提问作者Marek Sanoba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 12:45:25