Esempio n. 1
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            OleDbConnection con = null;

            UpdateFieldValues(request);
            Excel.ExcelFileType FileType = Excel.GetFileType(FieldValue_ExcelFilePath);

            try
            {
                con = ExcelObj.OpenExcelFile(FieldValue_ExcelFilePath, FieldValue_SheetName, FileType, Convert.ToBoolean(FieldValue_HasHeaderRow), Convert.ToBoolean(FieldValue_ForceMixedData), FieldValue_TypeGuessRows, FieldValue_CSVDelimiter);
                ExcelObj.InsertRowIntoExcel(FieldValue_ExcelFilePath, FieldValue_SheetName, FileType, ref con,
                                            FieldValue_ColumnName1, FieldValue_ColumnValue1, FieldValue_ColumnName2, FieldValue_ColumnValue2,
                                            FieldValue_ColumnName3, FieldValue_ColumnValue3, FieldValue_ColumnName4, FieldValue_ColumnValue4,
                                            FieldValue_ColumnName5, FieldValue_ColumnValue5, FieldValue_ColumnName6, FieldValue_ColumnValue6,
                                            FieldValue_ColumnName7, FieldValue_ColumnValue7, FieldValue_ColumnName8, FieldValue_ColumnValue8,
                                            FieldValue_ColumnName9, FieldValue_ColumnValue9, FieldValue_ColumnName10, FieldValue_ColumnValue10,
                                            FieldValue_ColumnName11, FieldValue_ColumnValue11, FieldValue_ColumnName12, FieldValue_ColumnValue12,
                                            FieldValue_ColumnName13, FieldValue_ColumnValue13, FieldValue_ColumnName14, FieldValue_ColumnValue14,
                                            FieldValue_ColumnName15, FieldValue_ColumnValue15, FieldValue_ColumnName16, FieldValue_ColumnValue16,
                                            FieldValue_ColumnName17, FieldValue_ColumnValue17, FieldValue_ColumnName18, FieldValue_ColumnValue18,
                                            FieldValue_ColumnName19, FieldValue_ColumnValue19, FieldValue_ColumnName20, FieldValue_ColumnValue20);
            }
            catch (System.Exception ex)
            {
                ExcelObj.CloseExcelFile(ref con);       //Ensure the excel file is closed before throwing the error.
                throw (ex);
            }
            ExcelObj.CloseExcelFile(ref con);


            response.Publish("Excel File Path", FieldValue_ExcelFilePath);
            response.Publish("Sheet Name", FieldValue_SheetName);
            response.Publish("Has Header Row", FieldValue_HasHeaderRow);
            response.Publish("Force mixed data to be converted to text", FieldValue_ForceMixedData);
            response.Publish("TypeGuessRows", FieldValue_TypeGuessRows);
            response.Publish("CSV Delimiter", FieldValue_CSVDelimiter);
        }
Esempio n. 2
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            string FilePath  = request.Inputs["Excel File Path"].AsString();
            string SheetName = request.Inputs["Sheet Name"].AsString();

            if (SheetName == "")
            {
                SheetName = FieldValue_SheetName;
            }
            bool   HasHeaderRow = request.Inputs["Has Header Row"].AsBoolean();
            bool   ForceMixedDataAsText;
            string CSVDelimiter = request.Inputs["CSV Delimiter"].AsString();

            if (CSVDelimiter == "")
            {
                CSVDelimiter = FieldValue_CSVDelimiter;
            }
            if (request.Inputs["Force mixed data to be converted to text"].ToString() != "")
            {
                ForceMixedDataAsText = request.Inputs["Force mixed data to be converted to text"].AsBoolean();
            }
            else
            {
                ForceMixedDataAsText = true;
            }

            int TypeGuessRows;

            if (request.Inputs["TypeGuessRows"].ToString() != "")
            {
                TypeGuessRows = request.Inputs["TypeGuessRows"].AsInt16();
            }
            else
            {
                TypeGuessRows = 8;
            }
            string SemiColonReplacement = request.Inputs["; Replacement"].AsString();

            if (SemiColonReplacement == "")
            {
                SemiColonReplacement = "_";
            }

            //Read Filter Values
            string SelectFilter = "Select *";
            string WhereFilter  = "";

            foreach (IFilterCriteria filter in request.Filters)
            {
                switch (filter.Name)
                {
                case "Select filter":
                    switch (filter.Relation)
                    {
                    case Relation.EqualTo:
                        SelectFilter = filter.Value.AsString();
                        break;
                    }
                    break;

                case "Where filter":
                    switch (filter.Relation)
                    {
                    case Relation.EqualTo:
                        WhereFilter = filter.Value.AsString();
                        break;
                    }
                    break;
                }
            }
            if (SelectFilter == "")
            {
                SelectFilter = "Select *";
            }
            else if (SelectFilter.ToLower().StartsWith("select ") == false)
            {
                SelectFilter = "Select " + SelectFilter;
            }
            if (WhereFilter != "" && WhereFilter.ToLower().StartsWith("where ") == false)
            {
                WhereFilter = "Where " + WhereFilter;
            }

            System.Collections.IEnumerable FullLines = null;
            int             RowCount = 0;
            DataSet         ds       = null;
            OleDbConnection con      = null;

            ExcelObj = new Excel();
            Excel.ExcelFileType FileType = Excel.GetFileType(FilePath);

            try
            {
                con = ExcelObj.OpenExcelFile(FilePath, SheetName, FileType, HasHeaderRow, ForceMixedDataAsText, TypeGuessRows, CSVDelimiter);
                ds  = ExcelObj.ReadSheetFromExcel(FilePath, SheetName, FileType, ref con, SelectFilter, WhereFilter);
            }
            catch (System.Exception ex)
            {
                ExcelObj.CloseExcelFile(ref con);   //Ensure the excel file is closed before throwing the error.
                throw (ex);
            }
            ExcelObj.CloseExcelFile(ref con);


            if (ds.Tables.Count > 0)
            {
                RowCount  = ds.Tables[0].Rows.Count;
                FullLines = GetFullLines(ds, SemiColonReplacement);
            }

            response.Publish("Excel File Path", FilePath);
            response.Publish("Sheet Name", SheetName);
            response.Publish("Number of rows", RowCount);
            response.Publish("Has Header Row", HasHeaderRow);
            response.Publish("Force mixed data to be converted to text", ForceMixedDataAsText);
            response.Publish("TypeGuessRows", TypeGuessRows);
            response.Publish("CSV Delimiter", CSVDelimiter);
            response.Publish("; Replacement", SemiColonReplacement);
            response.Publish("Select filter", SelectFilter);
            response.Publish("Where filter", WhereFilter);

            if (FullLines != null)
            {
                response.PublishRange("Full line as string with fields separated by ;", FullLines);
            }
            else
            {
                response.Publish("Full line as string with fields separated by ;", "No data returned");
            }
        }
Esempio n. 3
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            string FilePath  = request.Inputs["Excel File Path"].AsString();
            string SheetName = request.Inputs["Sheet Name"].AsString();

            if (SheetName == "")
            {
                SheetName = FieldValue_SheetName;
            }
            bool   HasHeaderRow = request.Inputs["Has Header Row"].AsBoolean();
            bool   ForceMixedDataAsText;
            string CSVDelimiter = request.Inputs["CSV Delimiter"].AsString();

            if (CSVDelimiter == "")
            {
                CSVDelimiter = FieldValue_CSVDelimiter;
            }
            string UpdateStatement = request.Inputs["Update statement"].AsString();

            if (request.Inputs["Force mixed data to be converted to text"].ToString() != "")
            {
                ForceMixedDataAsText = request.Inputs["Force mixed data to be converted to text"].AsBoolean();
            }
            else
            {
                ForceMixedDataAsText = false;
            }

            int TypeGuessRows;

            if (request.Inputs["TypeGuessRows"].ToString() != "")
            {
                TypeGuessRows = request.Inputs["TypeGuessRows"].AsInt16();
            }
            else
            {
                TypeGuessRows = 8;
            }

            OleDbConnection con = null;

            ExcelObj = new Excel();
            Excel.ExcelFileType FileType = Excel.GetFileType(FilePath);

            try
            {
                con = ExcelObj.OpenExcelFile(FilePath, SheetName, FileType, HasHeaderRow, ForceMixedDataAsText, TypeGuessRows, CSVDelimiter);
                ExcelObj.UpdateExcelDocument(FilePath, SheetName, FileType, ref con, UpdateStatement);
            }
            catch (System.Exception ex)
            {
                ExcelObj.CloseExcelFile(ref con);   //Ensure the excel file is closed before throwing the error.
                throw (ex);
            }
            ExcelObj.CloseExcelFile(ref con);

            response.Publish("Excel File Path", FilePath);
            response.Publish("Sheet Name", SheetName);
            response.Publish("Has Header Row", HasHeaderRow);
            response.Publish("Force mixed data to be converted to text", ForceMixedDataAsText);
            response.Publish("TypeGuessRows", TypeGuessRows);
            response.Publish("CSV Delimiter", CSVDelimiter);
            response.Publish("Update statement", UpdateStatement);
        }