public static bool ExportToExcel(RevisionData selected, RevOrderMgr om) { List <List <string> > data = AggregateData(selected, om, REV_SORT_ITEM_DESC); int row = TITLE_ROW; string outFile = SetUpOutputFile(Setg.TemplatePathAndFileName, Setg.ExcelPathAndFileName); X.Application excel = new X.Application(); if (excel == null) { return(false); } X.Workbook wb = excel.Workbooks.Open(outFile); X.Worksheet wsData = wb.Sheets[Setg.ExcelDataWorksheetName] as X.Worksheet; if (wsData == null) { return(false); } excel.Visible = false; ExportColumnTitles(wsData, row, om); row++; // startRow row count X.Range range = GetRange(wsData, row, data.Count, // startCol colCount 1, om.ColumnOrder.Count); FormatDataCells(range); ExportToExcel(data, row, wsData, om); AdjustColumnWidthInRange(range.Columns, 1.5); X.Worksheet wsPivot = wb.Sheets[Setg.ExcelPivotWorksheetName] as X.Worksheet; X.PivotTable pivotTable = (X.PivotTable)wsPivot.PivotTables(Setg.ExcelPivotTableName); pivotTable.RefreshTable(); excel.Visible = true; return(true); }