【问题标题】:Formatting excel with importexcel in PowerShell?在PowerShell中使用importexcel格式化excel?
【发布时间】:2017-06-29 05:33:01
【问题描述】:

我一直试图弄清楚 Set-CellStyle 在 ImportExcel 中的工作原理:https://github.com/dfinke/ImportExcel

我已经使用 Import-Excel 导入了 excel 文件,将其保存到变量并对其进行了一些更改。现在我正在尝试将它与一些格式一起导出。我要做的是更改该区域中的单元格颜色:第 1-4 行以及从 A 列到 D 列。

如果我查看 Get-Help Set-CellStyle 它会说:

SYNTAX
    Set-CellStyle [[-WorkSheet] <Object>] [[-Row] <Object>] [[-LastColumn] <Object>] [[-Pattern] {None | Solid | DarkGray | MediumGray | LightGray | Gray125 | Gray0625 | DarkVertical | DarkHorizontal | DarkDown | DarkUp | DarkGrid | DarkTrellis | LightVertical | LightHorizontal | LightDown | LightUp | LightGrid | LightTrellis}] [[-Color] <Color>]

这就是我基本上在做的事情:

$Excel = Import-Excel -Path C:\Temp\excel.xlsx
$Excel | Export-Excel -Path C:\Temp\excel.xlsx -Autosize | Set-CellStyle ??

但我似乎无法让 Set-CellStyle 工作。我只是不明白正确的语法,帮助文件或github上的示例不是很清楚。有人可以帮我解决这个问题吗?

另外,如果有人知道如何加粗特定行/单元格,请分享一个示例:)

【问题讨论】:

    标签: excel powershell


    【解决方案1】:

    The code for the function is here.

    您需要做的就是传递行号和最后一列。它默认从列A 开始。您不能像在您的问题中那样在管道中使用,因为它不接受来自管道的值。

    $Excel = Import-Excel -Path C:\Temp\excel.xlsx
    $Excel | Export-Excel -Path C:\Temp\excel.xlsx -Autosize
    
    # figure out how to assign a worksheet,  e.g. to variable $ws
    
    # loop over rows
    foreach($row in 1./4){
        Set-CellStyle -Worksheet $ws -Row $row -LastColumn "D"
    }
    

    【讨论】:

    • 如何指定-FirstColumn?第一列似乎没有参数。做不到吗?
    • 目前无法按照它的写法来完成。为此,手动将$FirstColumn 添加到参数中,并将第13 行的A 替换为$FirstColumn。所以你把"A$($Row):$($LastColumn)$($Row)"改成"$FirstColumn$($Row):$($LastColumn)$($Row)"
    猜你喜欢
    • 1970-01-01
    • 2018-06-15
    • 2021-10-08
    • 2021-12-08
    • 1970-01-01
    • 2020-08-24
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多