2013-03-12 143 views
4

我正在使用C#將基於Windows窗體的應用程序中的數據表導出到Excel中。 FilterList具有以下值:C#在多個值上篩選excel列

string[] FilterList = new string[] {"Red", "Blue"}; 

但是我只能得到由「藍色」過濾的值。下面就是我對我的column.The列我試圖濾波器的一個應用過濾器的部分代碼中有7個不同的值從中我只需要選擇2

我是什麼做的錯在這裏,任何幫助

+0

請問http://stackoverflow.com/questions/7742106/c-sharp-excel-automation-retrieving-rows-after-autofilter-with-specialcells有幫助嗎? – Dutts 2013-03-12 08:09:33

+0

感謝您的鏈接。它不幫助我:( – TRR 2013-03-12 08:52:00

+0

你確定你可以傳遞數組到AutoFilter方法的第二個參數?我不知道這是否正在尋找一個標準嗎?我不確定所需的語法,但如果你通過了像「紅色||藍色」而不是?http://msdn.microsoft.com/en-GB/library/microsoft.office.interop.excel.range.autofilter.aspx。 – Dutts 2013-03-12 09:04:48

回答

4

確定這裏你去:

範圍的自動篩選方法的第三個參數接受XlAutoFilterOperator,我把它改爲xlFilterValues而不是xlAnd,因爲我使用一個標準的對象,但有多個標準。下面是代碼更改,我已經做了過濾器選擇2個值。

Range.AutoFilter(5, FilterList.Count > 0 ? FilterList.ToArray() : Type.Missing, 
Excel.XlAutoFilterOperator.xlFilterValues, Type.Missing, true); 

來源:SocialMSDN

希望它可以幫助其他這樣用戶。