使用这个答案,我能够在 EPPlus 中创建一个带有表格布局的数据透视表。
但是列标题显示不正确。当我使用 Excel 创建数据透视表时,我得到列标题“GA 类别”和“容器”:
当我通过 EPPlus 创建数据透视表时,我得到列标题“行标签”和“列标签”
我想知道如何通过 EPPlus 创建设置列标题。
使用这个答案,我能够在 EPPlus 中创建一个带有表格布局的数据透视表。
但是列标题显示不正确。当我使用 Excel 创建数据透视表时,我得到列标题“GA 类别”和“容器”:
当我通过 EPPlus 创建数据透视表时,我得到列标题“行标签”和“列标签”
我想知道如何通过 EPPlus 创建设置列标题。
当前包无法通过 EPPLus 设置列标题。为此,我需要在项目中修改 ExcelPivotTable.cs,添加以下代码:
public string ColHeaderCaption
{
get
{
return GetXmlNodeString("@colHeaderCaption");
}
set
{
SetXmlNodeString("@colHeaderCaption");
}
}
然后可以通过 PivotTable 类设置行和列标题:
'Sheet containing the data
Dim dataSheet as ExcelWorksheet
dataSheet = package.Workbook.WorkSheets(0)
'Data used on pivot table - default to entire sheet
Dim dataRange as ExcelRangeBase
dataRange = dataSheet.Cells(dataSheet.Dimension.Address)
'New sheet for the pivot table
Dim sheet as ExcelWorkSheet
sheet = package.Workbook.Worksheets.Add("Pivot")
package.Workbook.Worksheets.MoveToStart(sheet.Name)
sheet.View.TabSelected = true
'Create the pivot table
Dim pivot as Table.PivotTable.ExcelPivotTable
pivot = sheet.PivotTables.Add(sheet.Cells("A1"), dataRange, "PivotTable")
'Add row field
pivot.RowFields.Add(pivot.Fields("RowField"))
'Set row caption
pivot.RowHeaderCaption = "My Row Caption"
'Add column field
pivot.ColumnFields.Add(pivot.Fields("ColumnField"))
'Set column caption
pivot.ColumnHeaderCaption = "My Column Caption"
如果您不能或不想修改 EPPlus,您仍然可以在创建数据透视表后通过修改 XML 将表头添加到数据透视表:
pivot.PivotTableXml.DocumentElement.SetAttribute("colHeaderCaption", "My Column Caption");