コード例 #1
0
        private void task13_Click(object sender, Xceed.SmartUI.SmartItemClickEventArgs e)
        {
            BatchExporter be = new BatchExporter();

            be.mainInit(null);
            be.Show();
            be = null;
        }
コード例 #2
0
 public BatchExportSettingsViewModel(BatchExporter batchExporter)
     : base(batchExporter)
 {
     Settings = batchExporter.Settings;
     PresetViewModels.Select(Settings.Preset);
     if (String.IsNullOrEmpty(FileName))
     {
         FileName = String.Format("{{{0}}}_{{{1}}}_{{{2}}}",
                                  Strings.Workbook, Strings.Worksheet, Strings.Index);
     }
     Scope.PropertyChanged   += Scope_PropertyChanged;
     Objects.PropertyChanged += Objects_PropertyChanged;
     Layout.PropertyChanged  += Layout_PropertyChanged;
     UpdateStates();
 }
コード例 #3
0
        public void BatchExport(
            BatchExportScope scope, BatchExportObjects objects,
            BatchExportLayout layout, int expectedNumberOfFiles)
        {
            // ExcelInstance.Application.Visible = true;
            Workbook wb = Instance.Default.CreateWorkbook(3);

            Helpers.CreateSomeCharts(wb.Worksheets[1], 1);
            Helpers.CreateSomeCharts(wb.Worksheets[2], 2);
            Helpers.CreateSomeCharts(wb.Worksheets[3], 3);
            Helpers.CreateSomeShapes(wb.Worksheets[1], 3);
            Helpers.CreateSomeShapes(wb.Worksheets[2], 2);
            Helpers.CreateSomeShapes(wb.Worksheets[3], 1);
            wb.Charts.Add(After: wb.Sheets[wb.Sheets.Count]);
            wb.Sheets[1].Activate();
            BatchExportSettings settings = new BatchExportSettings();

            settings.Path = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
            Directory.CreateDirectory(settings.Path);
            settings.FileName = "{workbook}_{worksheet}_{index}";
            settings.Preset   = new Preset(FileType.Png, 300, ColorSpace.Rgb);
            settings.Layout   = layout;
            settings.Objects  = objects;
            settings.Scope    = scope;
            BatchExporter exporter          = new BatchExporter(settings);
            BatchExportSettingsViewModel vm = new BatchExportSettingsViewModel(exporter);
            bool finished = false;
            bool abort    = false;

            vm.ProcessFinishedMessage.Sent += (sender, args) => { finished = true; };
            vm.StartProcess();
            Timer t = new Timer((obj) => abort = true, null, 8000, Timeout.Infinite);

            while (!finished && !abort)
            {
                ;
            }
            t.Dispose();
            Assert.IsFalse(abort, "Export progress did not finish, timeout reached.");
            Assert.AreEqual(expectedNumberOfFiles,
                            Directory.GetFiles(settings.Path).Length);
            Directory.Delete(settings.Path, true);
        }