2013-10-07 62 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