我正在使用 UiPath.Excel.Activities.WriteRange 将数据表写入 Excel。
当 Excel 列被隐藏时,出现了以下错误:“无法写入目标范围,因为其中包含隐藏的行。请取消过滤或取消隐藏行,然后再试一次。”
(实际上,只有列被隐藏,没有隐藏的行。)
如果有方法能在隐藏时写入,请告诉我。
经过的情况是,以前我们直接指定文件路径使用“写入范围”单独进行写入(在这种情况下即使列被隐藏也能够写入),但在转换为Windows时,这种方法会导致Excel文件损坏。(并不是所有文件都会损坏,但破损的原因尚不清楚。)
因此,当我改为在Excel应用程序范围内使用时,如果列被隐藏就无法写入了。不过文件不再会损坏。
你好 @kana612
这似乎有点棘手。不过也许这些可以帮助你。
我之前在向 Excel 中的隐藏列写入数据时遇到过类似的问题,我所做的就是在 Excel 文件中调用 VBA 脚本来“取消隐藏”该范围/工作簿中的所有列。因此你可以这样做:
你可以简单地创建一个文本文件,并在“代码文件路径”字段中引用该路径。在文本文件中,你可以使用以下代码来取消隐藏所有列/行:
Sub UnHideAllColumns()
Cells.EntireColumn.Hidden = False
End Sub
或者,你可以直接使用“Invoke Code” 活动,并将此代码放入该活动中:
worksheet.Range("A:Z").EntireColumn.Hidden = False
但请确保相应地引用你的工作簿和范围。
让我知道这是否帮助到你 ![]()
感谢你的建议。
如果能够在列隐藏的情况下进行“写入范围”,那将非常好,但这意味着没有这样的办法吗?
即使解除隐藏进行处理,如果能在 UiPath 中完成实现,那将对我很有帮助。
你好
你使用的 UiPath.Excel.Activities 包的版本是多少?在最新的稳定版 (3.5.1) 中是否也会出现相同的异常?
UiPath.Excel.Activities的版本是2.24.4。
在3.5.1中也出现了相同的异常。
通过 Excel 应用程序写入时会出现此现象,但如果使用最新稳定版单独进行区域写入(工作簿),文件仍然会损坏吗?
使用最新版本和单独的范围写入后,顺利处理,没有出现错误或文件损坏!谢谢你。

