我正在使用 NReco PivotData 库在日期字段上进行透视,以便日期在标题中水平显示。这很有效,但是,我想添加日期来填补空白,以便结果更完整(默认情况下,库仅显示包含在记录中的日期)。
例如,如果我总共有 2 条记录,第一条记录是 01/01/2018,第二条记录是 10/01/2018,那么我将不会有包含两者之间所有日期的列。
我已经通过为我的范围中的每个日期添加空值的记录来解决这个问题,但是,这会在结果的顶部添加一个空白行,这并不理想。
总之,我想为我的日期维度添加“虚拟”值,以便通过显示没有任何条目的日期列来获得更完整的结果集。
代码
using (var package = new ExcelPackage())
{
var dimensionNames = new string[] { "Id", "Name", "Date", "Hours" };
var aggregator = new SumAggregatorFactory("Hours");
var rows = new Dictionary<string, object>()
{
{ 1, "John Smith", new DateTime(2018, 1, 1), 5 },
{ 2, "John Doe", new DateTime(2018, 1, 10), 10 }
};
var pivotData = new PivotData(dimensionNames, aggregator, rows);
var pivotTable = new PivotTable(new string[] { "Name" }, new string[] { "Date" }, pivotData);
var worksheet = package.Workbook.Worksheets.Add("Report");
var tableWriter = new PivotTableExcelWriter(worksheet);
tableWriter.Write(pivotTable);
package.SaveAs(...);
}
慕的地8271018
相关分类