Aspose-Cells:工作表上的自动filter,多于26列
我在这里是一种约束。 我需要在工作表上设置一个自动filter。 为此,我通常使用以下代码:
这里Columncount
是visible
的列数
Dim alphabet As String = "abcdefghijklmnopqrstuvwxyz" myDatasheet.AutoFilter.Range = (String.Format("A1:{0}1", alphabet.Substring(columnCount - 1, 1)))
这工作到26列(这是正常的,因为字母表是26个字母长)。 但突然间我有29栏(Columncount = 29)
。 这引起了argumentoutofrangeexception
。
问题:任何想法如何我可以修改的代码,使26个或更多列的工作?
注:我主要在aspose网站上做了我的研究,但没有任何信息或实例发现超过26列
AutoFilter类:Aspose.cells
Aspose:自动筛选数据
Aspose-Cells:数据过滤
实际上,我不应该在这里发表,我应该更多地考虑这一点。 事实上,使用MOD计算的解决scheme非常简单:
Dim alphabet As String = "abcdefghijklmnopqrstuvwxyz" Dim lastString As String = String.Empty Dim isDoubledletters As Boolean = (CInt(columnCount / alphabet.Length) > 0) If Not (isDoubledletters) Then myDatasheet.AutoFilter.Range = (String.Format("A1:{0}1", alphabet.Substring(columnCount - 1, 1))) Else Dim myEndFilter As String = alphabet.ToCharArray()(CInt(columnCount / alphabet.Length) - 1).ToString & alphabet.ToCharArray()(CInt(columnCount Mod alphabet.Length) - 1).ToString myDatasheet.AutoFilter.Range = (String.Format("A1:{0}1", myEndFilter)) End If
希望这对未来的任何人都有用处