在closexml中,如何按列对工作表进行排序

本文关键字:工作 排序 何按列 closexml | 更新日期: 2023-09-27 18:04:32

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

但目标是提供额外的工作表,使用相同的列,但对特定的列排序,如列"J"

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

工作表ws有由变量或公式填充的值,数据是正确的,但不能对列进行排序

  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);在排序中工作,但问题是第10列有一个公式,我需要对该列进行排序。

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

吗?它不能排序。ws.Sort (10);工作时,单元格包含一个最终值,但当它得到公式?是否有任何解决方案,迫使Excel页面排序后,其实现公式的每个单元格?

在closexml中,如何按列对工作表进行排序

不是对表进行排序,而是对j列中的值进行排序。

试试这个:

ws.Sort("Column10");