Ejemplo n.º 1
0
        public static void FillDocumentSheet(SpreadsheetDocument document, SheetExportData sheetExportData)
        {
            Sheet sheet        = SheetHelper.GetSheet(document, sheetExportData.SheetName);
            var   workbookPart = document.WorkbookPart;

            if (sheetExportData.SheetName == "Крепление")
            {
                GenerateTemplate(workbookPart, sheet.Id.Value, sheetExportData.ColumnsBlockToInsert);
            }
            MoveAllCharts(workbookPart, sheet.Id.Value, sheetExportData.ChartsToInserts);
            if (sheetExportData.SheetName == "КСБ-6.00")
            {
                // Общее количество строк в шаблоне
                var templateRowsCount = sheetExportData.CopyRowIndexTo - sheetExportData.CopyRowIndexFrom;
                for (int i = 0; i < sheetExportData.RowBlocksForCopyAndInsert - 1; i++)
                {
                    var toRowIndex = sheetExportData.CopyRowIndexTo + (templateRowsCount * i);
                    CopyAndInsertRows(sheetExportData.CopyRowIndexFrom, toRowIndex, templateRowsCount, i + 2,
                                      workbookPart, sheet.Id.Value, sheetExportData.ArraysToInserts);
                }
            }
            FillFields(workbookPart, sheet.Id.Value, sheetExportData.FieldsToInserts);
            FillTables(workbookPart, sheet.Id.Value, sheetExportData.ArraysToInserts);
            FillCharts(workbookPart, sheet.Id.Value, sheetExportData.ChartsToInserts);
            HideCharts(workbookPart, sheet.Id.Value, sheetExportData.ChartsToInserts);
            FillChartsXY(workbookPart, sheet.Id.Value, sheetExportData.ChartsXYToInserts);
        }
Ejemplo n.º 2
0
        public async Task ClearApproveCellsAsync()
        {
            var sheet = await GetSheetAsync();

            var players = SheetHelper.GetOrderedPlayers(sheet.Values);

            var dateOfNextGame = DateHelper.GetNearestGameDateMoscowTime(DateTime.Now).AddDays(7);
            var newValues      = new List <IList <object> >
            {
                new List <object>()
                {
                    dateOfNextGame.ToRussianDayMonthString()
                }
            };

            foreach (var player in players)
            {
                newValues.Add(new List <object>()
                {
                    string.Empty
                });
            }

            await UpdateSheetAsync(newValues, SheetHelper.GetApproveColumnRange(sheet.Values, players.Count));
        }
Ejemplo n.º 3
0
        private static List <CoverageEntity> SheetRangeToEntityList(IList <IList <object> > sheetRange)
        {
            List <CoverageEntity> methodList = new List <CoverageEntity>();

            if (sheetRange != null && sheetRange.Count > 0)
            {
                foreach (var row in sheetRange)
                {
                    var methodEntity = new CoverageEntity
                    {
                        Repository  = row[0].ToString().Trim(),
                        Project     = row[1].ToString().Trim(),
                        Class       = row[2].ToString().Trim(),
                        Method      = row[3].ToString().Trim(),
                        Coverage    = SheetHelper.ObjectToInt(row[4]),
                        Team        = row[6].ToString().Trim(),
                        UpdatedDate = row.Count < 10 ? string.Empty : row[9].ToString().Trim(),
                        RawData     = row,
                    };

                    if (string.IsNullOrWhiteSpace(methodEntity.Method) == false)
                    {
                        methodList.Add(methodEntity);
                    }
                }
            }

            return(methodList);
        }
Ejemplo n.º 4
0
        public int DiffBetweenIdColAndDataCol()
        {
            long idCol    = string.IsNullOrEmpty(IdCellRange) ? 0 : SheetHelper.ColToNumber(new RangeReference(IdCellRange).From.Col);
            long startCol = string.IsNullOrEmpty(DataCellRange) ? 0 : SheetHelper.ColToNumber(new RangeReference(DataCellRange).From.Col);

            return((int)(idCol - startCol));
        }
Ejemplo n.º 5
0
        private async Task <BatchUpdateValuesResponse> UpdateSheetAsync(IList <IList <object> > values, string range)
        {
            var updateDataRequest = SheetHelper.GetBatchUpdateRequest(values, range);
            var request           = _sheetsService.Spreadsheets.Values.BatchUpdate(updateDataRequest, AppSettings.GoogleDocSheetId);

            return(await request.ExecuteAsync(new CancellationTokenSource(Constants.ASYNC_OPERATION_TIMEOUT).Token));
        }
Ejemplo n.º 6
0
        public UpdateUniqueRowValidator(WizardContext context, SheetHelper sheet)
        {
            //在 Insert 模式不進行此類型驗證。
            _skip_validate = (context.CurrentMode != ImportMode.Update);

            if (_skip_validate)
            {
                return;
            }

            _sheet             = sheet;
            _primary_condition = context.IdentifyField;
            _check_conditions  = new List <ImportCondition>();

            List <ImportCondition> conditions = new List <ImportCondition>();

            foreach (ImportCondition each in context.UpdateConditions)
            {
                if (each.ContainsAllField(context.SelectedFields.ToArray()))
                {
                    conditions.Add(each);
                }
            }

            _check_conditions = conditions;

            if (!conditions.Contains(context.IdentifyField))
            {
                conditions.Add(context.IdentifyField); //連同 Primary Condition 一起加入。
            }
            XmlElement recordData = context.DataSource.GetUniqueFieldData();

            _key_sets = new ConditionKeySetCollection(conditions, recordData, "Record");
        }
Ejemplo n.º 7
0
        private async Task <int> CreateNewPlayerRowAsync(IList <IList <object> > values, string range, string playerName)
        {
            if (SheetHelper.GetUserRowNumber(values, playerName) != -1)
            {
                throw new ArgumentException($"Player {playerName} already exists.");
            }

            var players   = SheetHelper.GetOrderedPlayers(values, playerName);
            var newValues = SheetHelper.GetNewValues(values, players);

            // Add empty rows to clear unnecesary data
            var endEmptyRows = 30;

            while (--endEmptyRows != 0)
            {
                newValues.Add(new List <object> {
                    string.Empty, string.Empty
                });
            }

            await UpdateSheetAsync(newValues, range);
            await UpdateLastRowStyle(values.IndexOf(SheetHelper.GetTotalsRow(values)), newValues.IndexOf(SheetHelper.GetTotalsRow(values)));

            return(SheetHelper.GetUserRowNumber(newValues, playerName));
        }
Ejemplo n.º 8
0
        private static void WriteData(SheetHelper excelWriter, ExcelReference reference)
        {
            try
            {
                if (excelWriter.ConfirmedOverwrite == false)
                {
                    Common.StatusBar.AddMessage(Locale.English.WarningOverwriteNotAccepted);
                }
                else
                {
                    ExcelAsyncUtil.QueueAsMacro(() =>
                    {
                        var range = Tools.ReferenceToRange(reference);
                        try
                        {
                            // do not attempt to lock because this is executing on foreground thread
                            excelWriter.PopulateData(range);
                        }
                        finally
                        {
                            Marshal.ReleaseComObject(range);
                        }

                        Common.StatusBar.AddMessage(Locale.English.UdfDataWritingSuccess);
                    });
                }
            }
            catch (Exception e)
            {
                Common.StatusBar.AddMessage(Locale.English.UdfCompleteError);
                Common.HandlePotentialQuandlError(e, false);
            }
        }
Ejemplo n.º 9
0
        public DialogResult ShowDialog(Window parent)
        {
            int ret;
            var docHandler = Document != null ? Document.Handler as PrintDocumentHandler : null;

            if (docHandler != null)
            {
                Control.Options |= NSPrintPanelOptions.ShowsPreview;
                ret              = docHandler.Print(true, parent, Control) ? 1 : 0;
            }
            else
            {
                var printInfo = settings.ToNS();
                if (parent != null)
                {
                    var parentHandler = (IMacWindow)parent.Handler;
                    var closeSheet    = new SheetHelper();
                    Control.BeginSheet(printInfo, parentHandler.Control, closeSheet, new Selector("printPanelDidEnd:returnCode:contextInfo:"), IntPtr.Zero);
                    ret = (int)NSApplication.SharedApplication.RunModalForWindow(parentHandler.Control);
                }
                else
                {
                    ret = (int)Control.RunModalWithPrintInfo(printInfo);
                }
            }

            return(ret == 1 ? DialogResult.Ok : DialogResult.Cancel);
        }
Ejemplo n.º 10
0
        public async Task <string> GetApprovedPlayersMessageAsync()
        {
            var sheet = await GetSheetAsync();

            var players = SheetHelper.GetOrderedPlayers(sheet.Values);

            return(SheetHelper.GetApprovedPlayersString(players));
        }
        public void NewValues_Get_ReturnsCorrectCollection()
        {
            var newValues = SheetHelper.GetNewValues(_values, _players);

            Assert.Equal(_values.Count, newValues.Count);
            Assert.Equal("Всего", newValues.LastOrDefault()?[0]);
            Assert.Equal("=SUM(B3:B22)", newValues.LastOrDefault()?[1]);
        }
Ejemplo n.º 12
0
        private static void ObjectToEnumAssert(object value, MethodLevel expected)
        {
            //// Act
            var actual = SheetHelper.ObjectToEnum <MethodLevel>(value);

            //// Assert
            actual.Should().Be(expected);
        }
Ejemplo n.º 13
0
        private void ColumnLetterAssert(int column, string letter)
        {
            //// Target
            var actual = SheetHelper.ColumnToLetter(column);

            //// Assert
            actual.Should().Be(letter);
        }
        public void GetTotalsRow_ReturnsCorrectRow()
        {
            var totalsRow = SheetHelper.GetTotalsRow(_values);

            Assert.Equal(2, totalsRow.Count());
            Assert.Equal("Всего", totalsRow[0]);
            Assert.Equal("=SUM(B3:B22)", totalsRow[1]);
        }
Ejemplo n.º 15
0
        private void wpCollectKeyInfo_AfterPageDisplayed(object sender, WizardPageChangeEventArgs e)
        {
            try
            {
                if (e.PageChangeSource == eWizardPageChangeSource.BackButton)
                {
                    return;
                }

                cboIdField.SelectedIndex = -1;
                cboIdField.Items.Clear();
                cboIdField.DisplayMember = "Name";

                cboValidateField.SelectedItem = null;
                cboValidateField.Items.Clear();
                cboValidateField.DisplayMember = "FieldName";
                cboValidateField.Items.Add(EmptyShiftField);
                cboValidateField.SelectedIndex = 0;

                SheetHelper            sheet        = new SheetHelper(Context.SourceFile);
                IEnumerable <string>   fields       = sheet.Fields;
                ImportFieldCollection  acceptFields = Context.SupportFields.Intersect(fields);
                List <ImportCondition> conditions   = Context.UpdateConditions;

                foreach (ImportCondition each in conditions)
                {
                    if (each.ContainsAllField(fields))
                    {
                        cboIdField.Items.Add(each);
                    }
                }

                foreach (ImportField each in acceptFields)
                {
                    if (each.ShiftCheckable)
                    {
                        cboValidateField.Items.Add(each);
                    }
                }

                if (cboIdField.Items.Count <= 0)
                {
                    ctlerrors.SetError(cboIdField, "在來源資料中沒有任何可以當識別欄的欄位。");
                }
                else
                {
                    ctlerrors.SetError(cboIdField, string.Empty);
                }

                wpCollectKeyInfo.NextButtonEnabled = eWizardButtonState.Auto;
            }
            catch (Exception ex)
            {
                FISCA.Presentation.Controls.MsgBox.Show(ex.Message);
                //CurrentUser.ReportError(ex);
                wpCollectKeyInfo.NextButtonEnabled = eWizardButtonState.False;
            }
        }
        //统计微信每日活跃人数
        public FileResult GetWeixinActivePeopleChart()
        {
            int times = 10;
            Dictionary <string, List <int> > data = new Dictionary <string, List <int> >();
            List <string> xData = new List <string>();

            DateTime dt = DateTime.Now.Date;

            for (int i = times; i >= 0; i--)
            {
                xData.Add(FormatDateString(dt.AddDays(-i)));
            }
            dt = DateTime.Now.Date;

            List <int> advData = new List <int>();

            MySqlConnection conn = new MySqlConnection(Config.ConfigManager.getConfig("mysql-connection"));

            conn.Open();
            string                     sql     = string.Format("select count(*) times, date(update_time) dates from tbl_wx_user group by date(update_time) order by update_time desc limit {0};", times);
            MySqlCommand               sqlCmd  = new MySqlCommand(sql, conn);
            MySqlDataReader            reader  = sqlCmd.ExecuteReader();
            Dictionary <DateTime, int> dateset = new Dictionary <DateTime, int>();

            while (reader.Read())
            {
                dateset.Add(reader.GetDateTime("dates"), reader.GetInt32("times"));
            }
            conn.Close();
            for (int i = times; i >= 0; i--)
            {
                int      count = 0;
                DateTime time  = dt.AddDays(-i);
                foreach (var item in dateset)
                {
                    if (item.Key.Date.Equals(time.Date))
                    {
                        count = item.Value;
                    }
                }
                advData.Add(count);
            }
            data.Add("微信活跃人数", advData);

            SheetHelper sh = new SheetHelper();

            sh.SheetType      = SheetHelper.ChartType.Column;
            sh.Show3DStyle    = false;
            sh.ShowPercentage = false;
            Chart ch = sh.CreateChart("", xData, data, 900, 300);
            //Chart ch = SheetDrawing.DrawPieChartDemo();
            MemoryStream imageStream = new MemoryStream();

            ch.SaveImage(imageStream, ChartImageFormat.Png);

            imageStream.Position = 0;
            return(new FileStreamResult(imageStream, "image/png"));
        }
Ejemplo n.º 17
0
        public async Task UpsertPlayerAsync(string playerName)
        {
            var sheet = await GetSheetAsync();

            if (SheetHelper.GetUserRowNumber(sheet.Values, playerName) == -1)
            {
                await CreateNewPlayerRowAsync(sheet.Values, sheet.Range, playerName);
            }
        }
        public void Test_GetSheet001()
        {
            Column columnA = new Column
            {
                Title   = "TitleA",
                Primary = false,
                Type    = ColumnType.CHECKBOX,
                Symbol  = Symbol.STAR
            };

            // Specify properties of the second column
            Column columnB = new Column
            {
                Title   = "TitleB",
                Primary = true,
                Type    = ColumnType.TEXT_NUMBER
            };

            Column columnC = new Column
            {
                Title   = "TitleC",
                Primary = false,
                Type    = ColumnType.TEXT_NUMBER,
            };


            // Create sheet in "Sheets" folder (specifying the 2 columns to include in the sheet)
            Sheet newSheet = _smartsheetClient.SheetResources.CreateSheet(new Sheet
            {
                Name    = "newsheetTest002",
                Columns = new Column[] { columnA, columnB, columnC }
            }
                                                                          );

            long?sheetId = newSheet.Id;

            _testSheetIds.Add((long)sheetId);

            List <SheetLevelInclusion> sheetLevelInclusionList = new List <SheetLevelInclusion>();

            sheetLevelInclusionList.Add(SheetLevelInclusion.COLUMN_TYPE);
            List <long> columnIdList = new List <long>()
            {
                0, 3
            };

            //Sheet createdSheet = _smartsheetClient.SheetResources.GetSheet((long)sheetId, null, null, null, null, columnIdList, null, null); ;
            Sheet gotSheet = _smartsheetClient.SheetResources.GetSheet((long)sheetId, null, null, null, null, null, null, null);

            evaluate(
                SheetHelper.CompareForCreateSheets(gotSheet, newSheet),
                "Test_GetSheet001",
                "Test_GetSheet001",
                SheetHelper.DisplayText(gotSheet),
                (SheetHelper.DisplayText(newSheet)));
        }
        public void GetUserRange_ReturnsCorrectRange()
        {
            var range1 = SheetHelper.GetUserRange(3);
            var range2 = SheetHelper.GetUserRange(4);
            var range3 = SheetHelper.GetUserRange(5);

            Assert.Equal("Участие в играх!B3", range1);
            Assert.Equal("Участие в играх!B4", range2);
            Assert.Equal("Участие в играх!B5", range3);
        }
        public void GetUserRowNumber_ReturnsCorrectRowNumber()
        {
            var row1 = SheetHelper.GetUserRowNumber(_values, "User1");
            var row2 = SheetHelper.GetUserRowNumber(_values, "User5");
            var row3 = SheetHelper.GetUserRowNumber(_values, "User9");

            Assert.Equal(3, row1);
            Assert.Equal(7, row2);
            Assert.Equal(11, row3);
        }
Ejemplo n.º 21
0
        private async Task UpdateLastRowStyle(int oldTotalsRowIndex, int newTotalsRowIndex)
        {
            if (oldTotalsRowIndex == newTotalsRowIndex)
            {
                return;
            }

            var cutPasteStyleRequest = SheetHelper.GetMoveCellsStyleRequest(oldTotalsRowIndex, newTotalsRowIndex);
            var updateRequest        = _sheetsService.Spreadsheets.BatchUpdate(cutPasteStyleRequest, AppSettings.GoogleDocSheetId);
            await updateRequest.ExecuteAsync(new CancellationTokenSource(Constants.ASYNC_OPERATION_TIMEOUT).Token);
        }
Ejemplo n.º 22
0
        public void Test_CreateSheet006()
        {
            //Create Columns
            Column columnA = new Column
            {
                Title   = "TitleA",
                Primary = false,
                Type    = ColumnType.CHECKBOX,
                Symbol  = Symbol.STAR
            };

            Column columnB = new Column
            {
                Title   = "TitleB",
                Primary = true,
                Type    = ColumnType.TEXT_NUMBER
            };

            Column columnC = new Column
            {
                Title   = "TitleC",
                Primary = false,
                Type    = ColumnType.PICKLIST,
                Symbol  = Symbol.PROGRESS
            };


            // Create sheet in "Sheets" folder
            Sheet newSheet = _smartsheetClient.SheetResources.CreateSheet(new Sheet
            {
                Name    = "newsheetTest001",
                Columns = new Column[] { columnA, columnB, columnC }
            }
                                                                          );

            //Add new sheet id to list for TestCleanup
            _testSheetIds.Add((long)newSheet.Id);

            // Manually creating a sheet with expected values to compare.
            Sheet expectedSheet = new Sheet
            {
                Name        = "newsheetTest001",
                AccessLevel = AccessLevel.OWNER,
                Columns     = new Column[] { columnA, columnB, columnC }
            };

            //Force Failure
            evaluate(
                false,
                "Test_CreateSheet006",
                "Test_CreateSheet006",
                SheetHelper.DisplayText(newSheet),
                SheetHelper.DisplayText(expectedSheet));
        }
Ejemplo n.º 23
0
 private void Application_SheetActivate(object Sh)
 {
     //sheet = (Excel.Worksheet)Sh;
     if (SheetHelper.isExisting("Содержание"))
     {
         if (CheckState() == States.Editing && isBordersEnabled)
         {
             drawer.EnableSheetChangeEvent();
             drawer.DrawSheetBorders();
         }
     }
 }
        public void GetStartRows_ReturnsCorrectRows()
        {
            var startRows = SheetHelper.GetStartRows(_values);

            Assert.Equal(2, startRows.Count());
            Assert.Equal(0, startRows.First().Count);
            Assert.Equal(4, startRows.Skip(1).First().Count);
            Assert.Null(startRows.Skip(1).First()[0]);
            Assert.Equal("5 февраля", startRows.Skip(1).First()[1]);
            Assert.Null(startRows.Skip(1).First()[2]);
            Assert.Equal("Поле:", startRows.Skip(1).First()[3]);
        }
        //获取公众号订阅总量报表
        public FileResult GetTotalSubInfoChart()
        {
            int times = 10;
            Dictionary <string, List <int> > data = new Dictionary <string, List <int> >();
            List <string> xData = new List <string>();

            DateTime dt = DateTime.Now.Date;

            for (int i = times; i >= 0; i--)
            {
                xData.Add(FormatDateString(dt.AddDays(-i)));
            }
            dt = DateTime.Now.Date;

            List <int>      advData = new List <int>();
            MySqlConnection conn    = new MySqlConnection(Config.ConfigManager.getConfig("mysql-connection"));

            conn.Open();
            for (int i = times; i >= 0; i--)
            {
                string          sql    = string.Format("select count(*) times from tbl_wx_user where to_days(now()) - to_days(subscribe_time) >= {0};", i);
                MySqlCommand    sqlCmd = new MySqlCommand(sql, conn);
                MySqlDataReader reader = sqlCmd.ExecuteReader();
                if (reader.Read())
                {
                    advData.Add(reader.GetInt32("times"));
                }
                else
                {
                    advData.Add(0);
                }
                reader.Close();
            }
            conn.Close();

            data.Add("微信订阅人数", advData);

            SheetHelper sh = new SheetHelper();

            sh.SheetType      = SheetHelper.ChartType.Line;
            sh.Show3DStyle    = false;
            sh.ShowPercentage = false;
            Chart ch = sh.CreateChart("", xData, data, 900, 300);
            //Chart ch = SheetDrawing.DrawPieChartDemo();
            MemoryStream imageStream = new MemoryStream();

            ch.SaveImage(imageStream, ChartImageFormat.Png);

            imageStream.Position = 0;
            return(new FileStreamResult(imageStream, "image/png"));
        }
        public void NewValues_AddPlayer_ReturnsCorrectCollection()
        {
            var newPlayers = new List <IList <object> >(_players)
            {
                new List <object> {
                    "User21"
                }
            };

            var newValues = SheetHelper.GetNewValues(_values, newPlayers);

            Assert.Equal(_values.Count + 1, newValues.Count);
            Assert.Equal("Всего", newValues.LastOrDefault()?[0]);
            Assert.Equal("=SUM(B3:B23)", newValues.LastOrDefault()?[1]);
            Assert.True(newValues.Count(v => v?.Count > 0 && v[0]?.ToString() == "User21") == 1);
        }
Ejemplo n.º 27
0
        public void Test_CreateSheet002()
        {
            //Create Columns
            Column columnA = new Column
            {
                Title   = "TitleA",
                Primary = false,
                Type    = ColumnType.CHECKBOX,
                Symbol  = Symbol.STAR
            };

            Column columnB = new Column
            {
                Title   = "TitleB",
                Primary = true,
                Type    = ColumnType.TEXT_NUMBER
            };


            // Create sheet in "Sheets" folder
            Sheet newSheet = _smartsheetClient.SheetResources.CreateSheet(new Sheet
            {
                Name    = "newsheetTest002",
                Columns = new Column[] { columnA, columnB }
            }
                                                                          );

            //Add new sheet id to list for TestCleanup
            _testSheetIds.Add((long)newSheet.Id);

            Sheet newSheet2 = _smartsheetClient.SheetResources.CreateSheet(new Sheet
            {
                Name    = "newsheetTest002",
                Columns = new Column[] { columnA, columnB }
            }
                                                                           );

            //Add new sheet id to list for TestCleanup
            _testSheetIds.Add((long)newSheet2.Id);

            evaluate(
                SheetHelper.CompareForCreateSheets(newSheet, newSheet2),
                "Test_CreateSheet002",
                "Test_CreateSheet002",
                SheetHelper.DisplayText(newSheet),
                (SheetHelper.DisplayText(newSheet2)));
        }
Ejemplo n.º 28
0
        public IList <CoverageEntity> GetList()
        {
            var startIndex = 1;
            var maxRow     = string.Empty;
            var sheetName  = "Coverage";
            IList <CoverageEntity> sheetMethodList = new List <CoverageEntity>();
            //// TODO J 須為動態
            IList <IList <object> > values = this._googleSheetsService.GetValues(this._sheetsId, $"{sheetName}!A{startIndex + 1}:J{maxRow}");

            var index = startIndex;

            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    index++;

                    if (row.Count < 10)
                    {
                        Console.WriteLine($"Pass Sheet Row:{index}, Value: {row.EnumerableToString()}");
                        continue;
                    }

                    var methodEntity = new CoverageEntity
                    {
                        Repository     = row[0].ToString().Trim(),
                        Project        = row[1].ToString().Trim(),
                        Namespace      = row[2].ToString().Trim(),
                        Class          = row[3].ToString().Trim(),
                        Method         = row[4].ToString().Trim(),
                        Coverage       = row.Count > 5 ? SheetHelper.ObjectToInt(row[5]) : 0,
                        TargetCoverage = row.Count > 7 ? SheetHelper.ObjectToInt(row[7]) : 0,
                        Level          = SheetHelper.ObjectToEnum <MethodLevel>(row[8]),
                        Team           = row[9].ToString().Trim(),
                        RawIndex       = index,
                        RawData        = row,
                    };

                    if (string.IsNullOrWhiteSpace(methodEntity.Method) == false)
                    {
                        sheetMethodList.Add(methodEntity);
                    }
                }
            }

            return(sheetMethodList);
        }
Ejemplo n.º 29
0
        public async Task UpdateApproveCellAsync(string playerName, string cellValue)
        {
            var sheet = await GetSheetAsync();

            var userRow = SheetHelper.GetUserRowNumber(sheet.Values, playerName);

            if (userRow == -1)
            {
                userRow = await CreateNewPlayerRowAsync(sheet.Values, sheet.Range, playerName);
            }

            var range   = SheetHelper.GetUserRange(userRow);
            var request = _sheetsService.Spreadsheets.Values.Update(SheetHelper.GetValueRange(range, cellValue), AppSettings.GoogleDocSheetId, range);

            request.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED;
            await request.ExecuteAsync(new CancellationTokenSource(Constants.ASYNC_OPERATION_TIMEOUT).Token);
        }
Ejemplo n.º 30
0
        public static Excel.Worksheet GetListPage()
        {
            Excel.Worksheet sheet;
            string          name = "Содержание";

            if (!SheetHelper.isExisting(name))
            {
                sheet = SheetHelper.getSheet(name);
                FillDefault(sheet);
                FormatCells(sheet);
            }
            else
            {
                sheet = SheetHelper.getSheet(name);
            }
            return(sheet);
        }
Ejemplo n.º 31
0
    Sheet5_Startup
    (
        object sender,
        System.EventArgs e
    )
    {
        m_oSheetHelper = new SheetHelper(this, this.Groups);

        ThisWorkbook oThisWorkbook = Globals.ThisWorkbook;

        oThisWorkbook.GraphLaidOut +=
            new EventHandler<GraphLaidOutEventArgs>(
                this.ThisWorkbook_GraphLaidOut);

        oThisWorkbook.VerticesMoved +=
            new EventHandler<VerticesMovedEventArgs2>(
                this.ThisWorkbook_VerticesMoved);

        oThisWorkbook.GroupsCollapsedOrExpanded +=
            new EventHandler<GroupsCollapsedOrExpandedEventArgs>(
                this.ThisWorkbook_GroupsCollapsedOrExpanded);

        CommandDispatcher.CommandSent +=
            new RunCommandEventHandler(this.CommandDispatcher_CommandSent);
    }
        /// <summary>
        /// 将汇入讯息写入到最后的Excel中
        /// </summary>
        private void SaveImportMessage()
        {
            if (mImportWizard.ImportMessages.Positions.Count > 0)
            {
                string ImportFileName = Path.Combine(Constants.ValidationReportsFolder, Path.GetFileNameWithoutExtension(mImportOption.SelectedDataFile) + "(汇入报告).xls");
                int MaxDataColumn = mValidatedInfo.ResultHelper.Sheet.Cells.MaxDataColumn;

                SheetHelper helper = new SheetHelper(mImportOption.SelectedDataFile);
                helper.SwitchSeet(mImportOption.SelectedSheetName);

                InitialMessageHeader(helper.Sheet);

                mImportWizard.ImportMessages.Positions.ForEach(x => helper.SetValue(x, MaxDataColumn, mImportWizard.ImportMessages[x]));

                helper.Book.Save(ImportFileName);

                btnViewResult.Visible = true;

                btnViewResult.Click += (sender, e) =>
                {
                    try
                    {
                        Process.Start(ImportFileName);
                    }
                    catch (Exception ex)
                    {
                        FISCA.Presentation.Controls.MsgBox.Show(ex.Message);
                    }
                };
            }
        }
        /// <summary>
        /// 建构式,传入精灵选项
        /// </summary>
        /// <param name="args"></param>
        public SelectSource(ArgDictionary args)
            : base(args)
        {
            InitializeComponent();

            //初始化参数
            mArgs = args;
            mImportWizard = args["ImportWizard"] as ImportWizard;
            mImportOption = TryGetOption();
            mImportName = mImportWizard.ValidateRule.Root.GetAttributeText("Name");
            mImportWizard.ImportOption = mImportOption;

            this.Text = mImportName + "-选择档案与汇入方式" + "(" + CurrentStep + "/" + TotalStep + ")";

            //加载验证规则及XSLT
            LoadValudateRule();

            //在使用者选择数据表时,将数据表的字段都记录下来
            lstSheetNames.SelectedIndexChanged += (sender, e) =>
            {
                mSheetHelper.SwitchSeet("" + lstSheetNames.SelectedItem);
                mImportOption.SelectedSheetName = "" + lstSheetNames.SelectedItem;
                mImportOption.SheetFields = mSheetHelper.Fields;
                this.NextButtonEnabled = ValidateNext();
            };

            //检视验证规则
            btnViewRule.Click += (sender, e) =>
            {
                XmlViewForm ViewForm = new XmlViewForm();

                ViewForm.PopXml(mImportName, mImportOption.SelectedValidateFile);

                ViewForm.ShowDialog();
            };

            //检视填表说明
            btnViewRuleExcel.Click += (sender, e) =>
            {
                Workbook book = new Workbook();

                string BookAndSheetName = mImportName + "(空白表格)";

                if (!string.IsNullOrEmpty(BookAndSheetName))
                    book.Worksheets[0].Name = BookAndSheetName;

                int Position = 0;

                foreach (XElement Element in mImportWizard.ValidateRule.Root.Element("FieldList").Elements("Field"))
                {
                    StringBuilder strCommentBuilder = new StringBuilder();

                    string Name = Element.GetAttributeText("Name");
                    bool Required = Element.GetAttributeBool("Required", false);

                    book.Worksheets[0].Cells[0, Position].PutValue(Name);
                    book.Worksheets[0].Cells[0, Position].Style.HorizontalAlignment = TextAlignmentType.Center;
                    book.Worksheets[0].Cells[0, Position].Style.VerticalAlignment = TextAlignmentType.Center;

                    if (Required)
                    {
                        book.Worksheets[0].Cells[0, Position].Style.BackgroundColor = System.Drawing.Color.Red;
                        strCommentBuilder.AppendLine("此为必要字段。");
                    }

                    foreach (XElement SubElement in Element.Elements("Validate"))
                        strCommentBuilder.AppendLine(SubElement.GetAttributeText("Description"));

                    book.Worksheets[0].Comments.Add(0, (byte)Position);
                    book.Worksheets[0].Comments[0, Position].Note = strCommentBuilder.ToString();
                    book.Worksheets[0].Comments[0, Position].WidthInch = 3;

                    Position++;
                }

                book.Worksheets[0].AutoFitColumns();
                Campus.Report.ReportSaver.SaveWorkbook(book, Path.Combine(Constants.ValidationReportsFolder, BookAndSheetName));
            };

            //选择源数据档案
            btnSelectFile.Click += (sender, e) =>
            {
                DialogResult dr = SelectSourceFileDialog.ShowDialog();

                if (dr == DialogResult.OK)
                {
                    try
                    {
                        //记录来源文件名
                        string FileName = SelectSourceFileDialog.FileName;

                        txtSourceFile.Text = SelectSourceFileDialog.FileName;
                        mImportOption.SelectedDataFile = FileName;
                        mSheetHelper = new SheetHelper(FileName);

                        //将数据表列表显示在画面上
                        lstSheetNames.Items.Clear();

                        foreach (Worksheet sheet in mSheetHelper.Book.Worksheets)
                            lstSheetNames.Items.Add(sheet.Name);

                        lstSheetNames.SelectedIndex = 0;
                    }
                    catch (Exception ve)
                    {
                        MsgBox.Show(ve.Message);
                    }
                }
            };

            //将前一步不出现,下一步先失效
            this.PreviousButtonVisible = false;
            this.NextButtonEnabled = false;
        }
Ejemplo n.º 34
0
        //*************************************************************************
        //  Method: Sheet5_Startup()
        //
        /// <summary>
        /// Handles the Startup event on the worksheet.
        /// </summary>
        ///
        /// <param name="sender">
        /// Standard event argument.
        /// </param>
        ///
        /// <param name="e">
        /// Standard event argument.
        /// </param>
        //*************************************************************************
        private void Sheet5_Startup(
            object sender,
            System.EventArgs e
            )
        {
            Globals.ThisWorkbook.SetVisualAttribute2 +=
            new SetVisualAttributeEventHandler(
                this.ThisWorkbook_SetVisualAttribute2);

            // Create the helper object.

            m_oSheetHelper = new SheetHelper(this, this.Groups);
        }
    IgnoreTableSelectionChange
    (
        SheetHelper oSheetHelper
    )
    {
        Debug.Assert(oSheetHelper != null);
        AssertValid();

        return (
            // Work around an Excel bug.  See the
            // ExcelUtil.SpecialCellsBeingCalled property for details.

            ExcelUtil.SpecialCellsBeingCalled
            ||
            m_bIgnoreSelectionEvents

            ||
            !oSheetHelper.TableExists
            );
    }