【问题标题】:Powershell: save bold text into variablePowershell:将粗体文本保存到变量中
【发布时间】:2022-11-10 19:43:26
【问题描述】:

我想请你帮忙,如何通过 Powershell 将粗体文本保存到 Excel 中的变量中。我不是全职开发人员,只是想用 Powershell 让我的生活更轻松 :)

这就是我所拥有的(不幸的是不是很多):

# Open file test.xlsx
$excel = Open-ExcelPackage -Path './test.xlsx'

# Copy content of the worsksheet 'Sheet1'
$worksheet = $excel.Workbook.Worksheets['Sheet1']

# Copy specific cell value to the variable    
$String = $worksheet.Value
$StringBold = 

# Close Excel file
Close-ExcelPackage -ExcelPackage $Excel

我可以将文件 test.xlsx 的内容保存到 &worksheet 变量中。在某些单元格中可能是字符串“你今天好吗马立克?所以下一步应该是只保存单词马立克进入变量$StringBold

非常感谢您的任何建议。

【问题讨论】:

  • 是的,没错,我只需要提取粗体文本,其他什么都不需要。请问您知道还有什么方法可以实现吗?

标签: excel powershell import typography


【解决方案1】:

经过一些研究,这似乎可以使用ImportExcel Module,您只需要枚举每个cell,然后访问它们的.RichText property。这是一个如何实现它的示例:

$xlsx  = Open-ExcelPackage path	omy.xlsx
$sheet = $xlsx.Workbook.Worksheets['mySheetName']
foreach($cell in $sheet.Cells) {
    foreach($richText in $cell.RichText) {
        if($richText.Bold) {
            [pscustomobject]@{
                Address = $cell.Address
                Value   = $richText.Text
            }
        }
    }
}

以这张表为例:

此代码的结果变为:

Address Value
------- -----
A2      Marek
A3      Hello

【讨论】:

  • 这看起来很棒@Santiago Squarzon。但是,如何将粗体值保存到变量中?我试图这样做,但没有成功:(。主要目标是识别 xlsx 中的粗体字符串,用 HTML 代码包装它并保存/关闭 xlsx。例如,马立克将被替换为<span style="font-weight: bold;">马雷克</span>
  • @MarekSanoba 这应该是一个不同的问题。这个答案旨在回答最初的问题
猜你喜欢
  • 2018-06-15
  • 2014-09-30
  • 2020-06-30
  • 2014-04-24
  • 1970-01-01
  • 1970-01-01
  • 2018-05-22
  • 1970-01-01
相关资源
最近更新 更多