Exemplo n.º 1
0
        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.");
        }
Exemplo n.º 2
0
        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.");
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
 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");
     }
 }
Exemplo n.º 6
0
        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));
            }
        }
Exemplo n.º 7
0
        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.");
        }
Exemplo n.º 8
0
        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);
        }