excel - 使用 PowerShell 修剪 Excel 单元格
问题描述
是否可以像这样修剪excel单元格:
<newline>
<newline>
A
B
C
<newline>
<newline>
至:
A
B
C
我用 COM 对象试了一下:
$excel = New-Object -ComObject Excel.Application
$wb = $excel.Workbooks.Open($path)
foreach ($ws in $wb.Worksheets){
[void]$ws.Cells.Trim()
}
但Trim()
不是一个有效的方法。有没有其他方法可以为完整的工作表或给定范围修剪 excel 单元格($ws.Range)
?
解决方案
Trim()是System.String
. 您必须将它用于单元格的值,而不是单元格本身,然后更新更改的值。我使用了 UsedRange,但您可以将其更改为任何其他范围:
$excel = New-Object -ComObject Excel.Application
$wb = $excel.Workbooks.Open($path)
foreach ($ws in $wb.Worksheets){
foreach ($cell in $ws.UsedRange) {
if ($cell.Value2 -ne $null) {
$cell.Value2 = $cell.Value2.Trim()
}
}
}
之后不要忘记关闭或清理 Excel 对象。
推荐阅读
- c++ - 如何创建新任务 TI RTOS?
- reactjs - 如何从新行中的数组中获取元素?反应
- c# - Firebase 数据库 6.16.0 在 unity 2020 中无法运行,但在移动构建中运行
- html - 当 lang 属性不是“en”时,来自 Google Fonts 的 Montserrat 字体的西里尔字母在 iOS 上呈现错误
- c# - 如何将 SQL 查询中的空值设置为 C# 中的空字符串?
- c# - 如何在表格中从.xslt到doc生成固定宽度的列
- android - 从 DialogClick 事件处理程序方法调用另一个方法
- swift - iOS14 小部件可以请求主应用程序更新其数据吗?
- ios - IOS 如果设备没有互联网连接如何检测它并显示相应的文本
- r - 在 R 中为多列使用聚合()函数