Tag: 枢轴表

使用c#.net在MS Excel 2010中使用数据透视表格式数据

我有一个包含太多原始数据的Excel工作表。 现在我想要使用透视表工具在同一工作簿中的另一个Excel工作表中更改特定格式的数据表示forms。 到目前为止,以所需的格式来表示数据,我在Excel中做了几个手动步骤,这些步骤在下面提到,因为这样的步骤为我提供了客户端所需的格式: select表格 插入标签 – >数据透视表 创build数据透视表对话框出现:从源表中select一个表(select要分析的数据= Sheet1!$ A:$ I) select我们希望放置数据透视表报表的新工作表。 select要添加到报告的字段 – 字段1,字段2,字段3,字段4,字段5,字段6,字段7,字段8,字段9 – 作为行标签 function区中的枢轴表工具 – >选项 – >取消select“+/-button” function区中的数据透视表工具 – >devise – >报告布局 – >以表格forms显示 在function区中的数据透视表工具 – >devise – > SubTotatls – >不显示小计 在function区中的数据透视表工具 – >devise – >总计 – >closures行和列 Excel表格的源格式如下所述 原始数据 现在我想用C#.net编程地完成所有这些手动步骤。 最终的结果应该是以下格式: 结果格式 – 数据透视表 请提及源代码来做同样的事情。

在PowerPivot中为“CubeFields”循环

对于我的生活,我无法弄清楚如何为所有的立方体域的EnableMultiplePageItems做一个循环。 所以我不得不求助于这样的事情。 Sub MultipleFilter() ActiveSheet.PivotTables("PivotTable1").CubeFields(1).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(2).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(3).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(4).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(5).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(6).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(7).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(8).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(9).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(10).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(11).EnableMultiplePageItems = True End Sub 任何帮助,将不胜感激!

Excel数据透视表,用于计算女性和男性的单词

我有一个像以下forms的excel: words male words female I 2 rose 4 am 3 baby 6 sunny 4 slim 9 baby 5 travel 11 football 9 我希望这个Excel可以像Excel数据透视表一样成为一个新的Excel。 如果男女之间有共同的话,那么彼此的价值,如果没有,就显示出自己的价值,其他则是空间。 words male female I 2 am 3 sunny 4 baby 5 6 football 9 rose 4 slim 9 travel 11 感谢您的时间和考虑!

我怎样才能得到“总计”的平均值而不是总和?

我得到(免费)在我的数据透视表中的“总计”列: 对于“TotalQty”和“TotalPrice”这是很好的,但对于“AvgPrice”和“PrcntgOfTotal”不是那么多。 我怎样才能得到这些vals在第一种情况下,而不是一个平均值? 月份百分比是该月总和的百分比(不是所有月份的总和); 所以GrandTotal.PrcntgOfTotal也不应该是每月价值的平均值。 下面是我生成这个数据透视表的代码: private void PopulatePivotTableSheet() { string NORTHWEST_CORNER_OF_PIVOT_TABLE = "A6"; AddPrePivotTableDataToPivotTableSheet(); var dataRange = rawDataWorksheet.Cells[rawDataWorksheet.Dimension.Address]; dataRange.AutoFitColumns(); var pivotTable = pivotTableWorksheet.PivotTables.Add( pivotTableWorksheet.Cells[NORTHWEST_CORNER_OF_PIVOT_TABLE], dataRange, "PivotTable"); pivotTable.MultipleFieldFilters = true; //pivotTable.RowGrandTotals = true; <= default setting //pivotTable.ColumGrandTotals = true; <= default setting //pivotTable.RowGrandTotals = false; // this prevents the "Grand Total" column //pivotTable.ColumGrandTotals = false; […]

将数据透视表filter链接到单元格

我知道类似的问题已经被多次提出,但是我find的和适合我的需求的解决scheme似乎并不奏效,所以我非常感谢任何帮助。 我的问题是,我有一个数据透视表2,我想链接到单元格值(C1)的filter。 单元格值本身是从与其他数据源的另一个数据透视表连接的分割器中提取的。 当单元格C1中的值发生更改时,我希望数据透视表2的filter自动更改。 这里是我logging的macros,所以它可能会更容易开始: Sub Change_Pivot_Table_Filter() Range("C59").Select ActiveSheet.PivotTables("PivotTable2").PivotFields("delivery_date"). _ CurrentPage = "(All)" With ActiveSheet.PivotTables("PivotTable2").PivotFields("delivery_date") .PivotItems("10/21/2016").Visible = False .PivotItems("10/23/2016").Visible = True End With End Sub 非常感谢!

Excel 2010数据透视表问题

我有下面的数据透视表 Category Total Count(calculated value) # Completed Count(calculated value) Red 38,357 18822 Blue 182 155 Green 7,153 4,761 我不想计算两个计数的百分比。 因此,请显示18,822 / 38,357等的百分比。如何获取此度量标准?

为什么试图在数据透视表中着色范围没有效果(Aspose Cells)?

我试图有条件地着色数据透视表中的范围,如下所示: private void ColorizeContractItemBlocks(List<string> contractItemDescs) { int FIRST_DESCRIPTION_ROW = 7; int DESCRIPTION_COL = 0; int ROWS_BETWEEN_DESCRIPTIONS = 4; var pivot = pivotTableSheet.PivotTables[0]; var dataBodyRange = pivot.DataBodyRange; int currentRowBeingExamined = FIRST_DESCRIPTION_ROW; int rowsUsed = dataBodyRange.EndRow; pivot.RefreshData(); pivot.CalculateData(); // Loop through PivotTable data, colorizing contract items while (currentRowBeingExamined < rowsUsed) { Cell descriptionCell = pivotTableSheet.Cells[currentRowBeingExamined, DESCRIPTION_COL]; String […]

每个月在Excel中逐步汇总数据

我正在使用Excel 2007,而且我有一个报告,用于输出具有date,销售额,库存值和数量列的交易行。 看起来像这样: Date Sales Value Quantity 1/1/2015 500 300 3 2/15/2016 25000 18000 10 3/2/2016 15000 10000 8 4/20/2016 200 100 1 我需要得到一个数据透视表或其他方式来总结数据,所以我有2016年的顶部,总结了前几个月的所有数额。 因此,任何在1/31/16之前的date的行将落入1月16日。 任何date等于2/29/26的行将落入2月16日。 它看起来像这样: Jan-16 Feb-16 Mar-16 Apr-16 Sales Value Qty Sales Value Qty Sales Value Qty Sales Value Qty 500 300 3 25500 18300 13 40000 28300 21 40100 28400 22 […]

有没有办法在Aspose单元FreezePanes(在数据透视表)?

我将一个比Ross-Ice-Shelf Excel Interop应用慢的糖蜜移植到Aspose Cells。 我试图移植的一个function(找不到在这里做的方式)是“FreezePanes” 我的遗产(Excel Interop)代码已被注释掉; 有用; 我在Aspose Cellsisization上的尝试是在下面 – 我能得到的是设置范围: private void FreezePanePivotTable(int rowToFreeze, int colToFreeze) { //Range pivotTableCellToFreeze = (Range)_xlPivotTableSheet.Cells[rowToFreeze, colToFreeze]; //_xlPivotTableSheet.Activate(); //pivotTableCellToFreeze.Activate(); //pivotTableCellToFreeze.Application.ActiveWindow.FreezePanes = true; // AsposeCells version of the above: var pivot = pivotTableSheet.PivotTables[0]; var dataBodyRange = pivot.DataBodyRange; int rowsUsed = dataBodyRange.EndRow; int colsUsed = dataBodyRange.EndColumn; Range pivotTableCellToFreeze = pivotTableSheet.Cells.CreateRange( […]

如何覆盖数据透视表(Aspose Cells)上的列标签文本?

我正在使用包含“2015年1月1日”,“2015年11月1日”等值的源数据 可以理解的是,当我将这些值作为Column PivotFieldType添加时: pivotTable.AddFieldToArea(PivotFieldType.Column, MONTHYR_COLUMN); pivotTable.ColumnHeaderCaption = "Months"; …列中的值对应于从原始数据中提取的值(“2015年1月1日”,“2015年11月1日”等): 然而,我不希望这些文字表述(“2015年1月1日”,“2015年11月1日”等)的标签为“10月15日”,“11月15日”等。 我怎么能做到这一点? 在将数据写入数据表(从“2015年10月1日”到“10月15日”等)之前,是否必须更改数据?或者有什么办法可以中断Pivot上的列标签写入过程表? UPDATE 似乎从答案的链接提供的代码应该工作; 我可以通过它循环,值是正确的,但没有任何变化。 这是我的代码: // Get "10/1/2015" to display as "Oct 15" Style columnStyle = new CellsFactory().CreateStyle(); columnStyle.Custom = "mmm yy"; CellArea columnRange = pivotTable.ColumnRange; for (int c = columnRange.StartColumn; c < columnRange.EndColumn; c++) { pivotTable.Format(columnRange.StartRow + 1, c, columnStyle); } 更新2 即使这样做什么也不做–C7的价值仍然是“2015年10月1日” […]