gpt4 book ai didi

c# - 在一次调用中从 Excel 中检索多个单元格属性?

转载 作者:太空狗 更新时间:2023-10-29 23:49:48 24 4
gpt4 key购买 nike

我需要检索几千个单元格的背景属性 (Range.Interior.Color)。由于 COM-Interop 的限制,单独循环遍历每个单元格非常慢。

是否可以从 Range< 中检索不是 .Text.Value.Value2 的单元格属性 在一次调用中包含多个单元格?

最佳答案

我会尝试以下方法(用 VBA 编写但可以转换为 C#):

Public Sub GetColors()
Dim ewsTarget As Worksheet: Set ewsTarget = ActiveWorkbook.Worksheets(1)
ewsTarget.Copy , ewsTarget.Parent.Worksheets(ewsTarget.Parent.Worksheets.Count)
Dim ewsCopy As Worksheet: Set ewsCopy = ewsTarget.Parent.Worksheets(ewsTarget.Parent.Worksheets.Count)
ewsCopy.UsedRange.ClearContents
ewsCopy.UsedRange.Columns.EntireColumn.ColumnWidth = 0.5
ewsCopy.UsedRange.Rows.EntireRow.RowHeight = 5#
ewsCopy.UsedRange.CopyPicture xlScreen, xlBitmap
ewsCopy.Delete
End Sub

此代码将位图放在剪贴板上。此位图是从工作表的副本创建的,但是,删除了单元格内容,因此您只会看到单元格的背景,而且行和列的高度和长度相同。然后,您的 C# 程序可以获取此位图并获取单个像素,因为行和列具有相同的高度和宽度,因此可以轻松计算单元格的位置。

我知道这只是一种解决方法,但我认为没有更好的解决方案。这只是一种方式(不能写,只能读),很难扩展到其他属性(可能扩展到边框和字体颜色)。

关于c# - 在一次调用中从 Excel 中检索多个单元格属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39265034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com