在ClosedXML中,如何按列sorting工作表?

在使用asp / MVC的C#中,应用程序根据填充到特定列的数据生成一个Excel .xlsx文件,效果很好。

但目标是提供额外的工作表,使用相同的列,但sorting在特定的列,如列“J”

var wb = new XLWorkbook(); var ws = wb.Worksheets.Add("Proj Info"); var ws2 = wb.Worksheets.Add("Sort By Dates"); 

工作表ws的值由variables或公式填充,数据是正确的,但无法对列进行sorting

  ws.AutoFilter.Column("J"); //no, nothing changes ws.Column("J").Sort(); -> this shifts all the columns up but does not sort ws.Column("J").Sort(XLSortOrder.Ascending); ->same, doesnt sort only shifts 

更新:ws.Sort(9); 在sorting工作,但问题是,列10有一个公式,我需要sorting在该列。

  ws.Cell("J" + c).FormulaR1C1 = "=C$2-F" + c; 

有了这个? 它不会被分类。 ws.Sort(10); 当单元格包含最终值时工作,但是当它获得公式时? 是否有任何解决方法强制Excel页面sorting后,其实施公式的每个单元格?

您没有对表格进行sorting,但列J中的值

尝试这个:

 ws.Sort("Column10");