Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.99 KB | None | 0 0
  1. pch.Add(Microsoft.Office.Interop.Excel.XlPivotTableSourceType.xlDatabase, range).CreatePivotTable(sheetPivot.Cells[pivotRow, 1], "PivTbl_1", Type.Missing, Type.Missing);
  2. Microsoft.Office.Interop.Excel.PivotTable pvt = sheetPivot.PivotTables("PivTbl_1") as Microsoft.Office.Interop.Excel.PivotTable;
  3. var ptStyle = workBook.TableStyles["PivotStyleMedium2"];
  4. pvt.ShowTableStyleColumnHeaders = true;
  5. pvt.ShowTableStyleColumnStripes = true;
  6. pvt.ShowTableStyleLastColumn = true;
  7. pvt.ShowTableStyleRowHeaders = true;
  8. pvt.ShowTableStyleRowStripes = true;
  9. pvt.TableStyle = ptStyle.Name;
  10. pvt.TableStyle2 = ptStyle;
  11.  
  12. foreach (var item in provider.RowGroupDescriptions)
  13. {
  14. var field = ((Microsoft.Office.Interop.Excel.PivotField)pvt.PivotFields(item.PropertyName));
  15. field.Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlRowField;
  16. }
  17.  
  18. foreach (var item in provider.ColumnGroupDescriptions)
  19. {
  20. var field = ((Microsoft.Office.Interop.Excel.PivotField)pvt.PivotFields(item.PropertyName));
  21. field.Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlColumnField;
  22. }
  23.  
  24. foreach (var item in provider.AggregateDescriptions)
  25. {
  26. var field = ((Microsoft.Office.Interop.Excel.PivotField)pvt.PivotFields((item as PropertyAggregateDescription).PropertyName));
  27. field.Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlDataField;
  28. field.Function = Microsoft.Office.Interop.Excel.XlConsolidationFunction.xlSum;
  29. }
  30.  
  31. foreach (var item in provider.FilterDescriptions)
  32. {
  33. var field = ((Microsoft.Office.Interop.Excel.PivotField)pvt.PivotFields(item.PropertyName));
  34. field.Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlPageField;
  35.  
  36. var items = (item.Condition as Telerik.Pivot.Core.Filtering.ItemsFilterCondition).DistinctCondition.Items;
  37. pvt.RefreshTable();
  38. Microsoft.Office.Interop.Excel.PivotItems _PivotItems = (Microsoft.Office.Interop.Excel.PivotItems)field.PivotItems();
  39.  
  40. foreach (Microsoft.Office.Interop.Excel.PivotItem _PivotItem in _PivotItems)
  41. {
  42. if (items.Contains(_PivotItem.Caption))
  43. _PivotItem.Visible = true;
  44. else
  45. _PivotItem.Visible = false;
  46. }
  47. }
  48.  
  49. sheetPivot.PivotTables("PivTbl_1").DataPivotField.Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlColumnField;
  50. sheetPivot.Columns.AutoFit();
  51. sheetPivot.Activate();
  52.  
  53. workBook.SaveAs(FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
  54. workBook.Close();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement