Example #1
0
        private static void OnExecuteExportWorkBookToHTML(object sender, ExecutedRoutedEventArgs args)
        {
            SpreadsheetControl spreadsheetControl = args.Source as SpreadsheetControl;

            spreadsheetControl.ExcelProperties.WorkBook.SaveAsHtml("Sample.html", HtmlSaveOptions.Default);
            System.Diagnostics.Process.Start("Sample.html");
        }
Example #2
0
        public GanttMaster(
            SpreadsheetControl grid,
            IExperimentResultItem result,
            ResultDataContext resultCtx,
            DateTime planStartTime,
            GanttType type,
            EqpMaster eqpMgr
            )
            : base(grid)
        {
            _result    = result;
            _resultCtx = resultCtx;

            _planStartTime = planStartTime;

            this.GanttType = type;
            this.EqpMgr    = eqpMgr;

            this.SelectMode = false;
            //this.ColorGen = new ColorGenerator();

            _visibleItems = new HashSet <string>();

            _jobChgCntByHour  = new Dictionary <string, int>();
            _jobChgCntByShift = new Dictionary <string, int>();

            this.ValidEqps = new Dictionary <string, EqpMaster.Eqp>();
            this.StdSteps  = new Dictionary <string, EqpGanttChartData.StdStep>();

            this.DispInfos = new DoubleDictionary <string, DateTime, DataRow>();
        }
Example #3
0
        public TenxunQianxiBatchForm(MainForm mainform, SpreadsheetControl spreadsheetControl)
        {
            InitializeComponent();

            this.mainform           = mainform;
            this.spreadsheetControl = spreadsheetControl;
        }
Example #4
0
        public ToolGanttMaster(
            SpreadsheetControl grid,
            IExperimentResultItem result,
            ResultDataContext resultCtx,
            string targetShopID,
            DateTime planStartTime,
            EqpMaster eqpMgr
            )
            : base(grid)
        {
            _result    = result;
            _resultCtx = resultCtx;

            this.TargetShopID = targetShopID;

            _planStartTime = planStartTime;
            _eqpMgr        = eqpMgr;

            this.EnableSelect = false;

            //this.ColorGen = new ColorGenerator();
            _visibleItems = new List <string>();

            this.ToolList = GetToolList(this.TargetShopID);
        }
Example #5
0
        public Gaode2WGS84Form(MainForm mainform, SpreadsheetControl spreadsheetControl)
        {
            InitializeComponent();

            this.mainform           = mainform;
            this.spreadsheetControl = spreadsheetControl;
        }
        public GaodeDegeocodingAdForm(MainForm mainForm, SpreadsheetControl spreadsheetControl)
        {
            InitializeComponent();

            this.mainForm           = mainForm;
            this.spreadsheetControl = spreadsheetControl;
        }
Example #7
0
        /// <summary>
        /// 载入外部Excel数据
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public override List <ReadResult> LoadExcelData(string path)
        {
            DateTime startTime = DateTime.Now;

            string[] files = Directory.GetFiles(path);

            ConcurrentQueue <ReadResult> resultList = new ConcurrentQueue <ReadResult>();

            Parallel.ForEach(files, (file) =>
            {
                SpreadsheetControl spreadSheet = new SpreadsheetControl();
                spreadSheet.AllowDrop          = false;
                IWorkbook workbook             = spreadSheet.Document;
                workbook.LoadDocument(file);
                Worksheet worksheet = workbook.Worksheets[0];

                string fileName = Path.GetFileNameWithoutExtension(file);

                Filltable_测试结果(workbook.Worksheets[0], fileName, resultList);

                spreadSheet.Dispose();
            });


            DateTime endTime   = DateTime.Now;
            TimeSpan totalTime = endTime - startTime;
            double   time      = totalTime.TotalSeconds;

            ViewModuleManager.ModuleOf数据管理.richTextBox_消息栏.AppendText("已导入数据:" + resultList.Count + "条" + "\n");
            ViewModuleManager.ModuleOf数据管理.richTextBox_消息栏.AppendText("共耗时:" + time + "秒" + "\n");

            return(resultList.ToList());
        }
        public ForecastColleForm(MainForm mainform, SpreadsheetControl spreadsheetControl)
        {
            InitializeComponent();

            this.mainform           = mainform;
            this.spreadsheetControl = spreadsheetControl;
        }
Example #9
0
        void rePopupContainer_QueryResultValue(object sender, DevExpress.XtraEditors.Controls.QueryResultValueEventArgs e)
        {
            DataTable currentTable = (propertyGridControl1.SelectedObject as MyObject).MySpreadSheet;

            if (currentTable == null)
            {
                currentTable = new DataTable();
                (propertyGridControl1.SelectedObject as MyObject).MySpreadSheet = currentTable;
            }
            currentTable.Clear();
            currentTable.Columns.Clear();
            SpreadsheetControl spreadSheet = (sender as PopupContainerEdit).Properties.PopupControl.Controls[0] as SpreadsheetControl;
            Worksheet          workSheet   = spreadSheet.Document.Worksheets[0];
            CellRange          usedRange   = workSheet.GetUsedRange();

            for (int i = 0; i < usedRange.ColumnCount; i++)
            {
                currentTable.Columns.Add("Column" + i.ToString());
            }

            for (int i = 0; i < usedRange.RowCount; i++)
            {
                DataRow newRow = currentTable.NewRow();
                for (int j = 0; j < usedRange.ColumnCount; j++)
                {
                    newRow[j] = workSheet.Cells[i, j].DisplayText;
                }
                currentTable.Rows.Add(newRow);
            }
        }
Example #10
0
        private static void OnExecuteApplyTemplateCommand(object sender, ExecutedRoutedEventArgs args)
        {
            SpreadsheetControl spreadsheetControl = args.Source as SpreadsheetControl;

            if (spreadsheetControl != null && args.Parameter != null)
            {
                IWorkbook workbook  = spreadsheetControl.ExcelProperties.WorkBook;
                string    tablename = args.Parameter.ToString();
                IRange    range     = workbook.Worksheets[0].Range["A1:E3"];
                if (tablename.Contains("Orders"))
                {
                    tablename = "Orders";
                }
                else if (tablename.Contains("Products"))
                {
                    tablename = "Products";
                }
                else if (tablename.Contains("Customers"))
                {
                    tablename = "Customers";
                }
                FillTemplate(workbook, tablename);
                DataTable DataTable = Data.GetDataTable(tablename);
                //Apply Template
                ITemplateMarkersProcessor marker = workbook.Worksheets[0].CreateTemplateMarkersProcessor();
                marker.AddVariable(tablename, DataTable, VariableTypeAction.DetectNumberFormat);
                marker.ApplyMarkers();
                if (spreadsheetControl.GridProperties.CurrentExcelGridModel != null)
                {
                    spreadsheetControl.GridProperties.CurrentExcelGridModel.InvalidateCell(GridRangeInfo.Row(1));
                }
                spreadsheetControl.GridProperties.ActiveSpreadsheetGrid.InvalidateCells();
            }
        }
        public PopflowForm(MainForm mainform, SpreadsheetControl spreadsheetControl)
        {
            InitializeComponent();

            this.mainform           = mainform;
            this.spreadsheetControl = spreadsheetControl;
        }
Example #12
0
        // add a "MS Access File" option into a standard Open File dialog
        public static void ExtendOpenFileCommand(this SpreadsheetControl spreadSheet)
        {
            IDocumentImportManagerService      service       = (IDocumentImportManagerService)spreadSheet.GetService(typeof(IDocumentImportManagerService));
            CustomDocumentImportManagerService customService = new CustomDocumentImportManagerService(spreadSheet.Document);

            spreadSheet.ReplaceService <IDocumentImportManagerService>(customService);
        }
Example #13
0
        private static DataSet LoadDataFromExcel(string fileName)
        {
            using (SpreadsheetControl control = new SpreadsheetControl())
            {
                Console.WriteLine("Loading Excel document...");
                control.Document.LoadDocument(fileName);

                DataSet dataset = new DataSet();

                foreach (Worksheet sheet in control.Document.Worksheets)
                {
                    DateTime date;
                    if (DateTime.TryParse(sheet.Name, out date))
                    {
                        string tableName = GetTableName(date, "/");
                        Console.WriteLine("Loading DatatTable: {0}", tableName);

                        DataTable table = sheet.CreateDataTable(sheet.GetDataRange(), true);
                        table.TableName = tableName;
                        dataset.Tables.Add(table);


                        var exporter = sheet.CreateDataTableExporter(sheet.GetDataRange(), table, true);
                        exporter.CellValueConversionError += exporter_CellValueConversionError;
                        exporter.Export();
                        exporter = null;

                        CorrectDecimalStrings(table);
                    }
                }

                return(dataset);
            }
        }
        public TenxunGeocodingForm(MainForm mainForm, SpreadsheetControl spreadsheetControl)
        {
            InitializeComponent();

            this.mainForm           = mainForm;
            this.spreadsheetControl = spreadsheetControl;
        }
Example #15
0
 //带参数的初始化
 public void controlInit(SpreadsheetControl spreadsheetMain, Dictionary <String, SimpleButton> buttons, Dictionary <String, Label> labels, String path, Dictionary <String, PopupMenu> menus, BarManager barmanager, XtraForm form, AlertControl alert, XSheetUser user)
 {
     this.buttons              = buttons;
     this.labels               = labels;
     this.spreadsheetMain      = spreadsheetMain;
     this.menus                = menus;
     this.rightClickBarManager = barmanager;
     AlertUtil.setAlert(alert, form);
     this.user  = user;
     this.form  = form;
     this.alert = alert;
     //CELLCHANGE
     executer = new CommandExecuter(user);
     executer.Attach(this);
     executeState = "OK";
     /*加载文档,后续根据不同设置配置,待修改TODO*/
     try
     {
         DateTime     date = new DateTime();
         StreamWriter sw   = new StreamWriter(@"ConsoleOutput.txt", true);
         date = DateTime.Now;
         sw.WriteLine("beforeLoadDoc:" + date.ToString());
         if (path.Length > 0)
         {
             spreadsheetMain.Document.LoadDocument(path);
         }
         sw.Flush();
         sw.Close();
     }
     catch (Exception e)
     {
         MessageBox.Show(e.ToString());
         spreadsheetMain.Dispose();
     }
 }
        public static void InitializeSpreadsheet(this SpreadsheetControl spreadsheetControl)
        {
            SpreadsheetUtils.InitializeWorkbook(spreadsheetControl.Document);
            spreadsheetControl.Options.Behavior.FunctionNameCulture = FunctionNameCulture.English;

            spreadsheetControl.DocumentLoaded += (s, e) =>
                                                 SpreadsheetUtils.InitializeWorkbook(((SpreadsheetControl)s).Document);

            spreadsheetControl.EmptyDocumentCreated += (s, e) =>
                                                       SpreadsheetUtils.InitializeWorkbook(((SpreadsheetControl)s).Document);

            spreadsheetControl.CellBeginEdit    += SpreadRichTextEditForm.SpreadsheetControl_CellBeginEdit;
            spreadsheetControl.PopupMenuShowing += SpreadRichTextEditForm.SpreadsheetControl_PopupMenuShowing;

            spreadsheetControl.KeyDown += SpreadsheetControl_KeyDown;

            spreadsheetControl.BeforeDragRange += SpreadsheetControl_BeforeDragRange;
            spreadsheetControl.DragOver        += SpreadsheetControl_DragOver;
            spreadsheetControl.DragDrop        += SpreadsheetControl_DragDrop;

            var oldMouseHandler = (IMouseHandlerService)spreadsheetControl.GetService(typeof(IMouseHandlerService));

            if (oldMouseHandler != null)
            {
                spreadsheetControl.RemoveService(typeof(IMouseHandlerService));
            }
            var newMouseHandler = new SCMouseHandlerService(spreadsheetControl, oldMouseHandler);

            spreadsheetControl.AddService(typeof(IMouseHandlerService), newMouseHandler);
        }
Example #17
0
        private void SetSpreadSheetData(DataTable dt, SpreadsheetControl spreadSheet, string item)
        {
            spreadSheet.Document.BeginUpdate();

            Worksheet sheet = spreadSheet.Document.Worksheets[0];

            sheet.Name = item;

            for (int i = 0; i < dt.Columns.Count; i++)
            {
                Cell cell = sheet.Rows[0][i];
                cell.Font.Bold = true;
                cell.Font.Size = 9;
                cell.Borders.SetAllBorders(Color.Black, BorderLineStyle.Thin);
                cell.FillColor = Color.Pink;
                cell.SetValue(dt.Columns[i].ToString());
            }

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    Cell cell = sheet.Rows[i + 1][j];
                    cell.Font.Size = 9;
                    cell.Borders.SetAllBorders(Color.Black, BorderLineStyle.Thin);
                    cell.SetValue(dt.Rows[i][j]);
                }
            }

            sheet.GetUsedRange().AutoFitColumns();
            sheet.GetUsedRange().AutoFitRows();

            spreadSheet.Document.EndUpdate();
        }
Example #18
0
        public GanttMaster(SpreadsheetControl grid, IExperimentResultItem result)
            : base(grid)
        {
            this.result   = result;
            this.modelCtx = this.result.GetCtx <ModelDataContext>();

            this.colorGenerator = new ColorGenerator();
        }
 public override void Dispose()
 {
     if (spreadsheetControl != null)
     {
         spreadsheetControl = null;
     }
     base.Dispose();
 }
Example #20
0
        private void MakeDataWorksheets(SpreadsheetControl sheetcontrol)
        {
            Worksheet worksheet = sheetcontrol.Document.Worksheets[0];
            CellRange range     = worksheet.Range["D5:D10"];

            worksheet.Cells["D5"].Value  = "2021-08-11";
            worksheet.Cells["D10"].Value = DateTime.Now.ToString("yyyy-MM-dd");
        }
Example #21
0
        public DxSpreadsheetControlTemplateData GetTemplateData(SpreadsheetControl spc)
        {
            var data = new DxSpreadsheetControlTemplateData();
            var arr  = spc.SaveDocument(DocumentFormat.Xlsx);

            data.Content = Base2e15.Encode(arr);
            return(data);
        }
        private void GetData()
        {
            SpreadsheetControl spreadsheetControl1 = new SpreadsheetControl();

            try
            {
                spreadsheetControl1.CreateNewDocument();
                spreadsheetControl1.BeginUpdate();
                Worksheet worksheet = spreadsheetControl1.Document.Worksheets.ActiveWorksheet;
                Range     range     = worksheet.Range["A1:D1"];
                range.Merge();
                range.Alignment.Vertical   = DevExpress.Spreadsheet.SpreadsheetVerticalAlignment.Center;
                range.Alignment.Horizontal = DevExpress.Spreadsheet.SpreadsheetHorizontalAlignment.Center;
                range.Borders.SetAllBorders(Color.Black, BorderLineStyle.Thin);
                worksheet.Cells["A1"].Value       = "维修统计导出";
                worksheet.Cells["A1"].RowHeight   = 10 * 15;
                worksheet.Cells["A1"].ColumnWidth = 600;

                SpreadsheetHelper.SetSheetColumn(worksheet.Cells["A2"], "车牌号");
                SpreadsheetHelper.SetSheetColumn(worksheet.Cells["B2"], "所属部门");
                SpreadsheetHelper.SetSheetColumn(worksheet.Cells["C2"], "维修次数");
                SpreadsheetHelper.SetSheetColumn(worksheet.Cells["D2"], "维修费用");

                for (int i = 0; i < _list.Count; i++)
                {
                    SpreadsheetHelper.SetSheetColumn(worksheet.Cells["A" + (i + 2)], _list[i].CarNo);
                    SpreadsheetHelper.SetSheetColumn(worksheet.Cells["B" + (i + 2)], _list[i].DepartmentName);
                    SpreadsheetHelper.SetSheetColumn(worksheet.Cells["C" + (i + 2)], ValueConvert.ToString(_list[i].RepairCount));
                    SpreadsheetHelper.SetSheetColumn(worksheet.Cells["D" + (i + 2)], ValueConvert.ToString(_list[i].RepairExpenses));
                }

                string dir      = System.Environment.CurrentDirectory;
                string filePath = FileDialogHelper.SaveExcel("", dir);
                if (!string.IsNullOrEmpty(filePath))
                {
                    try
                    {
                        IWorkbook workbook = spreadsheetControl1.Document;
                        if (!filePath.Contains(".xls"))
                        {
                            filePath += ".xls";
                        }
                        workbook.SaveDocument(filePath);
                    }
                    catch (Exception ex)
                    {
                    }
                }

                spreadsheetControl1.EndUpdate();
            }
            catch
            {
            }
            finally
            {
            }
        }
Example #23
0
 public static string GetDocumentXml(SpreadsheetControl control)
 {
     using (var ms = new MemoryStream())
     {
         control.Document.SaveDocument(ms, DocumentFormat.OpenXml);
         ms.Position = 0;
         return(Convert.ToBase64String(ms.ToArray()));
     }
 }
Example #24
0
        private DataTemplate GetCellTemplate(Cell cell, SpreadsheetControl control)
        {
            double value = 0;

            double.TryParse(cell.DisplayText, NumberStyles.Float, control.Options.Culture, out value);
            string templateName = Math.Sign(value) == -1 ? "IncorrectTemplate" : "CorrectTemplate";

            return(control.TryFindResource(templateName) as DataTemplate);
        }
Example #25
0
        public WMTest(SpreadsheetControl sheetcontrol)
        {
            DataTable dt = GetUserList();

            System.Windows.Forms.MessageBox.Show(dt.Rows[0][0].ToString());
            insertList();
            dt = GetUserList();
            //System.Windows.Forms.MessageBox.Show(dt.Rows[1][0].ToString());
        }
        private void OpenFile(string fileName)
        {
            Text = "Spreadsheet Viewer - " + fileName;

            Spreadsheet xls = new Spreadsheet();

            xls.RegistrationName = "demo";
            xls.RegistrationKey  = "demo";

            try
            {
                xls.LoadFromFile(fileName);
            }
            catch (SpreadsheetProtectionPasswordRequired)
            {
                PasswordDialog passwordDialog = new PasswordDialog();

                if (passwordDialog.ShowDialog(this) == DialogResult.OK)
                {
                    xls.LoadFromFile(fileName, CacheType.Memory, ",", Encoding.Default, passwordDialog.Password);
                }
                else
                {
                    return;
                }
            }

            lblStub.Visible = false;

            if (_spreadsheetControl == null)
            {
                _spreadsheetControl      = new SpreadsheetControl();
                _spreadsheetControl.Dock = DockStyle.Fill;

                Controls.Add(_spreadsheetControl);

                _spreadsheetControl.BringToFront();
                _spreadsheetControl.Focus();
            }

            Cursor = Cursors.WaitCursor;

            try
            {
                _spreadsheetControl.Spreadsheet = xls;
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }
            finally
            {
                Cursor = Cursors.Default;
            }
        }
Example #27
0
 public ToolGantt(SpreadsheetControl grid,
                  IExperimentResultItem result,
                  ResultDataContext resultCtx,
                  string targetShopID,
                  DateTime planStartTime,
                  EqpMaster eqpMgr
                  )
     : base(grid, result, resultCtx, targetShopID, planStartTime, eqpMgr)
 {
     _table = new Dictionary <string, GanttInfo>();
 }
Example #28
0
 public EqpGantt(
     SpreadsheetControl grid,
     IExperimentResultItem result,
     ResultDataContext resultCtx,
     DateTime planStartTime,
     EqpMaster mart
     )
     : base(grid, result, resultCtx, planStartTime, GanttType.Default, mart)
 {
     this.GanttInfos = new Dictionary <string, GanttInfo>();
 }
Example #29
0
 public LotGantt
 (
     //GridControl grid,
     SpreadsheetControl grid,
     IExperimentResultItem result,
     DateTime planStartTime
 )
     : base(grid, result, planStartTime, GanttType.Lot)
 {
     _table = new Dictionary <string, GanttInfo>();
 }
Example #30
0
 public void RegisterFormatPainter(SpreadsheetControl spreadsheet, BarCheckItem biFormatPainter)
 {
     spreadsheetControl               = spreadsheet;
     this.biFormatPainter             = biFormatPainter;
     spreadsheet.MouseUp             += spreadsheetControl1_MouseUp;
     spreadsheet.PreviewKeyDown      += spreadsheetControl1_PreviewKeyDown;
     spreadsheet.SelectionChanged    += spreadsheetControl1_SelectionChanged;
     spreadsheet.CellBeginEdit       += spreadsheetControl1_CellBeginEdit;
     spreadsheet.SheetRemoving       += Spreadsheet_SheetRemoving;
     biFormatPainter.CheckedChanged  += barCheckItem1_CheckedChanged;
     biFormatPainter.ItemDoubleClick += barCheckItem1_ItemDoubleClick;
 }
Example #31
0
        private static void OnExecuteExportToMetafile(object sender, ExecutedRoutedEventArgs args)
        {
            SpreadsheetControl spreadsheetControl = args.Source as SpreadsheetControl;
            IWorksheet         sheet = spreadsheetControl.ExcelProperties.WorkBook.Worksheets[0];

            sheet.UsedRangeIncludesFormatting = false;
            int lastRow    = sheet.UsedRange.LastRow + 1;
            int lastColumn = sheet.UsedRange.LastColumn + 1;

            System.Drawing.Image img = sheet.ConvertToImage(1, 1, lastRow, lastColumn, ImageType.Metafile, null);
            img.Save("Sample1.emf", ImageFormat.Emf);
            System.Diagnostics.Process.Start("Sample1.emf");
        }
 public InputExcelFormatter()
 {
     DocumentFormat = DocumentFormat.OpenXml;
     spreadsheetControl = new SpreadsheetControl();
 }
 public static XtraReport CreateQueryReport(QueryRegionSummaryModel model)
 {
     var regions = model.RegionList;
     var queries = model.QueryList;
     var year = model.Year;
     var form = model.Form;
     var reportDataList = new QueryReportDataCollection();
     using (var spreadsheetControl = new SpreadsheetControl() { AllowDrop = false })
     {
         foreach (var region in regions)
         {
             var formData = region.region_form_data.FirstOrDefault(t => t.form == form && t.send_date.Year == year);
             if (formData != null)
             {
                 var excelData = formData.file.contents;
                 var format = formData.document_format.IsOpenXml()
                     ? DocumentFormat.OpenXml
                     : DocumentFormat.Xls;
                 spreadsheetControl.LoadDocument(excelData, format);
             }
             foreach (var query in queries)
             {
                 var stringValue = "";
                 try
                 {
                     var content = query.content;
                     if (content.StartsWith("@"))
                     {
                         var propName = content.Substring(1);
                         var propInfo = typeof(region).GetProperty(propName);
                         var value = propInfo.GetValue(region);
                         var valueType = value.GetType();
                         if (valueType.GetInterface("System.Collections.IEnumerable") != null && valueType != typeof(String))
                         {
                             var collection = (IEnumerable<object>)value;
                             stringValue = collection.Join(", ");
                         }
                         else if (valueType == typeof(bool))
                         {
                             stringValue = (bool)value ? "Да" : "Нет";
                         }
                         else
                         {
                             stringValue = value.ToString();
                         }
                     }
                     else
                     {
                         var value = spreadsheetControl.Document.Range[content].Value;
                         stringValue = GetStringValueFromCell(value);
                     }
                 }
                 catch (Exception ex)
                 {
                     stringValue = "Не удалось";
                 }
                 reportDataList.Add(new QueryReportRegionData(region, query, stringValue));
             }
         }
     }
     var groupedList = reportDataList.Group().ToList();
     var report = new QueryReport { ReportData = groupedList };
     Reports.Add(report);
     return report;
 }
        private static byte[] CreateSpreadsheetReport(IList<QueryReportDataGroup> reportData)
        {
            using (var spreadsheet = new SpreadsheetControl() {AllowDrop = false})
            {
                spreadsheet.BeginUpdate();
                var workbook = spreadsheet.Document;
                workbook.CreateNewDocument();
                workbook.Worksheets.Add("Запросы");
                var sheet = workbook.Worksheets.First();

                var i = 0;
                var j = 0;
                foreach (var pair in reportData.First().Values) //шапка по горизонтали
                {
                    sheet.Cells[0, j++].Value = pair.Key.title;
                }
                i = 1;
                j = 0;
                var grouped = reportData.GroupBy(t => t.GroupHead);
                foreach (var group in grouped) //группы по вертикали
                {
                    sheet.Cells[i++, j].Value = group.Key;
                    foreach (var data in group) //данные по вертикали
                    {
                        j = 0;
                        sheet.Cells[i, j++].Value = data.Head;
                        foreach (var pair in data.Values) //запрос-значение по горизонтали
                        {
                            sheet.Cells[i, j++].Value = pair.Value.ToString();
                        }
                    }
                }
                spreadsheet.EndUpdate();
                using (var stream = new MemoryStream())
                {
                    spreadsheet.SaveDocument(stream, DocumentFormat.Xlsx);
                    return stream.ToArray();
                }
            }
        }
        private async void formulaPeekControl_Completed(object sender, FormulaPeekArgs e)
        {
            this.windowsUIButtonPanelActions.HidePeekForm();
            if (!e.Write) return;

            try
            {
                this.spreadsheetControl.BeginUpdate();
                var messages = new List<string>();
                using (new MarqueeProgressDialog(this.ParentForm, description: "Обработка данных"))
                {
                    await Task.Run(() =>
                    {
                        using (var spreadsheet = new SpreadsheetControl {AllowDrop = false})
                        {
                            using (var ms = new MemoryStream(e.FormulaBytes))
                            {
                                var formulas = FormulaExpressionParser.ParseStream(ms); //TODO: rewrite
                                var formDatas = e.FormDataList;
                                for (var i = 0; i < formDatas.Count; i++)
                                {
                                    var formData = formDatas[i];
                                    var formBytes = formData.file.contents;
                                    var format = formData.document_format.IsOpenXml()
                                        ? DocumentFormat.OpenXml
                                        : DocumentFormat.Xls;
                                    spreadsheet.LoadDocument(formBytes, format);
                                    
                                    foreach (var formula in formulas)
                                    {
                                        formula.Source = spreadsheet.Document;
                                        formula.Target = this.spreadsheetControl.Document;
                                        try
                                        {
                                            if (i == 0)
                                                formula.WriteToTarget();
                                            else
                                                formula.AppendToTarget();
                                        }
                                        catch
                                        {
                                            messages.AddRange(formula.ErrorMessages.Where(errorMessage => !messages.Contains(errorMessage)));
                                        }
                                    }
                                }
                                
                            }
                        }
                    });
                }

                if (messages.Count > 0)
                {
                    var countToTake = 10;
                    var takenMessages = messages.Take(countToTake).ToList();
                    if (takenMessages.Count > countToTake)
                        takenMessages.Add("...");
                    var message = string.Join("\n", takenMessages);
                    this.ShowFlyoutMessageBox("Ошибка заполнения", message);
                }
            }
            catch (Exception ex)
            {
                this.ShowFlyoutMessageBox("Ошибка", ex.Message, FlyoutCommand.OK);
            }
            finally
            {
                this.spreadsheetControl.EndUpdate();
            }

        }
 //根据路径打开文件
 private void OpenFileByPath(string FilePath)
 {
     string ExtName = (System.IO.Path.GetExtension(FilePath)).Replace(".", "").ToLower();
     int index = LandEvaluationBll.BindingDataTable.GetImageIndexByExtName(ExtName);
     XtraTabPage tabPage = new XtraTabPage();
     tabPage.Text = System.IO.Path.GetFileName(FilePath);
     tabPage.ImageIndex = index;
     Control fileViewerControl = null;
     if (index == 1)
     {
         RichEditControl richEditControl = new RichEditControl();
         richEditControl.LoadDocument(FilePath);
         fileViewerControl = richEditControl;
     }
     else if (index == 2)
     {
         SpreadsheetControl spreadsheetControl = new SpreadsheetControl();
         spreadsheetControl.LoadDocument(FilePath);
         fileViewerControl = spreadsheetControl;
     }
     else if (index == 4)
     {
         PdfViewer pdfViewer = new PdfViewer();
         pdfViewer.LoadDocument(FilePath);
         fileViewerControl = pdfViewer;
     }
     else if (index == 5)
     {
         PdfViewer pdfViewer = new PdfViewer();
         pdfViewer.LoadDocument(FilePath);
         fileViewerControl = pdfViewer;
     }
     else if (index == 9)
     {
         this.axMapControl1.LoadMxFile(FilePath);
         this.xtraTabControl2.SelectedTabPageIndex = 0;
         this.xtraTabControl1.SelectedTabPageIndex = 1;
         return;
     }
     tabPage.Controls.Add(fileViewerControl);
     fileViewerControl.Dock = DockStyle.Fill;
     this.xtraTabControl2.TabPages.Add(tabPage);
     this.xtraTabControl2.SelectedTabPage = tabPage;
     //this.xtraTabControl2.Refresh();
 }