2013-10-07 60 views
0

我想使用SpreadSheetGear(.NET)在Excel工作表中读取列,并在该列中获取唯一值。SpreadSheetGear - 从Excel列中读取唯一值

enter image description here

例如:在Excel工作表上面,我需要阅读B列并取回唯一值 “约翰” “迈克”和 “韦恩”

在现实生活中,有可以是1,000,000多行,因此效率很重要。 这是如何实现的?

+0

你好,是不是像锁定视图一样简单m_WorkbookView.GetLock();然后获取Range SpreadsheetGear.IRange oRange = m_ViewLock.Workbook.ActiveWorksheet.Cells [aRowFrom,aColFrom,aRowTo,aColTo];并从范围内阅读。您只需将名称添加到Dictionary中,并在添加它们之前检查它们是否已存在于Dictionary中。这似乎很简单,我觉得我错过了这里明显的东西 –

+0

如果你想使用公式的解决方案,看看这个问题的答案:http://stackoverflow.com/questions/1429899/getting-unique-values-在-Excel中按公式只使用 - 。 – Daniel

+0

解决这个问题的另一种方法是选择仅允许不同元素的.net数据结构。字典弹簧在这里介意。 – SBI

回答

0

我了解该帖子已过时,但可能对其他人有所帮助: @Michael Moreno输入的评论将有所帮助,我赞同此观点。但担心的是:如何判断迭代循环的行数或列数。为此,我建议使用Property IWorksheet.UsedRange来获取工作表所包含的数据范围。 Curtsy通过:@Chris在他的thread