public void CountSelectChartObjects() { Workbook wb = Instance.Default.CreateWorkbook(); Worksheet ws = wb.Worksheets.Add(); ChartObjects cos = ws.ChartObjects(); cos.Add(10, 10, 200, 100); cos.Add(250, 10, 200, 100); SheetViewModel svm = new SheetViewModel(ws); Assert.AreEqual(2, svm.CountCharts(), "CountCharts()"); Assert.AreEqual(2, svm.CountShapes(), "CountGraphicObjects()"); Assert.IsTrue(svm.SelectCharts(), "SelectCharts() should return true if the sheet contains an embedded chart."); Assert.IsTrue(svm.SelectShapes(), "SelectGraphicObjects() should return true if the sheet contains an embedded chart."); }
public void CountSelectShapes() { Workbook wb = Instance.Default.CreateWorkbook(); Worksheet ws = wb.Worksheets.Add(); Shapes shs = ws.Shapes; shs.AddLine(10, 10, 20, 30); shs.AddLine(50, 50, 20, 30); SheetViewModel svm = new SheetViewModel(ws); Assert.AreEqual(0, svm.CountCharts()); Assert.AreEqual(2, svm.CountShapes()); Assert.IsFalse(svm.SelectCharts(), "SelectCharts() should return false if the sheet contains only shapes."); Assert.IsTrue(svm.SelectShapes(), "SelectGraphicObjects() should return true if the sheet contains shapes."); }
private void AnalyzeOtherWorkbooks() { Logger.Info("AnalyzeOtherWorkbooks"); string activeWorkbookName = Instance.Default.ActiveWorkbook.Name; _otherWorkbooksHaveCharts = false; _otherWorkbooksHaveManyCharts = false; _otherWorkbooksHaveShapes = false; _otherWorkbooksHaveManyObjects = false; int charts; int shapes; Workbooks workbooks = Instance.Default.Application.Workbooks; Logger.Info("AnalyzeOtherWorkbooks: {0} workbook(s) are currently open", workbooks.Count); for (int i = 1; i <= workbooks.Count; i++) { Logger.Info("AnalyzeOtherWorkbooks: [{0}]", i); Workbook workbook = workbooks[i]; if (workbook.Name != activeWorkbookName) { Sheets sheets = workbook.Sheets; for (int j = 1; j <= sheets.Count; j++) { object sheet = sheets[j]; SheetViewModel svm = new SheetViewModel(sheet); charts = svm.CountCharts(); shapes = svm.CountShapes() - charts; _otherWorkbooksHaveCharts |= charts > 0; _otherWorkbooksHaveManyCharts |= charts > 1; _otherWorkbooksHaveShapes |= shapes > 0; _otherWorkbooksHaveManyObjects |= charts + shapes > 1; Bovender.ComHelpers.ReleaseComObject(sheet); } Bovender.ComHelpers.ReleaseComObject(sheets); } else { Logger.Info("AnalyzeOtherWorkbooks: [{0}] is the active workbook", i); } Bovender.ComHelpers.ReleaseComObject(workbook); } Logger.Info("AnalyzeOtherWorkbooks: Releasing workbooks object"); Bovender.ComHelpers.ReleaseComObject(workbooks); }
private bool CanExportFromSheet(object sheet) { SheetViewModel svm = new SheetViewModel( Instance.Default.Application.ActiveSheet); switch (Objects.AsEnum) { case BatchExportObjects.Charts: return(svm.CountCharts() > 0); case BatchExportObjects.ChartsAndShapes: return(svm.CountShapes() > 0); default: Logger.Fatal("CanExportFromSheet: Unknown case: {0}", Objects.AsEnum); throw new InvalidOperationException( "Cannot handle " + Objects.SelectedItem); } }
private void AnalyzeActiveSheet() { if (Instance.Default.Application.ActiveSheet != null) { Logger.Info("AnalyzeActiveSheet"); SheetViewModel sheetVM = new SheetViewModel(Instance.Default.Application.ActiveSheet); int charts = sheetVM.CountCharts(); int shapes = sheetVM.CountShapes() - charts; _activeSheetHasCharts = charts > 0; _activeSheetHasManyCharts = charts > 1; _activeSheetHasShapes = shapes > 0; _activeSheetHasManyObjects = charts + shapes > 1; _activeSheetName = sheetVM.DisplayString; } else { Logger.Info("AnalyzeActiveSheet: No active sheet"); } }
private int CountInSheetItems(dynamic worksheet) { Logger.Info("CountInSheetItems"); SheetViewModel svm = new SheetViewModel(worksheet); switch (Settings.Objects) { case BatchExportObjects.Charts: return(svm.CountCharts()); case BatchExportObjects.ChartsAndShapes: return(svm.CountShapes()); default: Logger.Fatal("CountInSheetItems: Object type '{0}' not implemented!", Settings.Objects); throw new NotImplementedException(String.Format( "Export of {0} not implemented.", Settings.Objects)); } }
public void CountSelectChartSheet() { Workbook wb = Instance.Default.CreateWorkbook(); Worksheet ws = wb.Worksheets.Add(); SheetViewModel svm = new SheetViewModel(ws); Assert.IsFalse(svm.SelectCharts(), "SelectCharts() should return false if worksheet does not contain charts."); Assert.IsFalse(svm.SelectShapes(), "SelectGraphicObjects() should return false if worksheet does not contain any."); Chart chart = wb.Charts.Add(); svm = new SheetViewModel(chart); Assert.AreEqual(1, svm.CountCharts()); Assert.AreEqual(1, svm.CountShapes()); Assert.IsTrue(svm.SelectCharts(), "SelectCharts() should return true if sheet is a chart."); Assert.IsTrue(svm.SelectShapes(), "SelectGraphicObjects() should return true if sheet is a chart."); }
private void AnalyzeOtherSheets() { Logger.Info("AnalyzeOtherSheets"); _otherSheetsHaveCharts = false; _otherSheetsHaveManyCharts = false; _otherSheetsHaveShapes = false; _otherSheetsHaveManyObjects = false; int charts; int shapes; object sheet; Sheets sheets = Instance.Default.ActiveWorkbook.Sheets; Logger.Info("AnalyzeOtherSheets: {0} sheet(s) in active workbook", sheets.Count); for (int i = 1; i <= sheets.Count; i++) { sheet = sheets[i]; SheetViewModel svm = new SheetViewModel(sheet); if (svm.DisplayString != _activeSheetName) { charts = svm.CountCharts(); shapes = svm.CountShapes() - charts; Logger.Info("AnalyzeOtherSheets: [{0}]: charts: {1}, shapes: {2}", i, charts, shapes); _otherSheetsHaveCharts |= charts > 0; _otherSheetsHaveManyCharts |= charts > 1; _otherSheetsHaveShapes |= shapes > 0; _otherSheetsHaveManyObjects |= charts + shapes > 1; } else { Logger.Info("AnalyzeOtherSheets: [{0}]: is active sheet", i); } Bovender.ComHelpers.ReleaseComObject(sheet); } Logger.Info("AnalyzeOtherSheets: Releasing sheets object"); Bovender.ComHelpers.ReleaseComObject(sheets); }