Exemple #1
0
        static object[,] LayDuLieu(string path)
        {
            var xlApp = new Microsoft.Office.Interop.Excel.Application();

            xlApp.Visible = false;
            var xlWorkBook  = xlApp.Workbooks.Open(path);
            var xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Sheets.get_Item(1);

            Microsoft.Office.Interop.Excel.Range xlRange = xlWorkSheet.UsedRange;
            object[,] dt = (object[, ])xlRange.get_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault);
            xlApp.Quit();
            return(dt);
        }
Exemple #2
0
        private static List <string> GetDropDownList(string DropDownValue, Microsoft.Office.Interop.Excel.Workbook xlWorkbook)
        {
            List <string> ValueList = new List <string>();

            Microsoft.Office.Interop.Excel.Worksheet xlWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkbook.Sheets.get_Item(DropDownValue);
            Microsoft.Office.Interop.Excel.Range     xlRange     = xlWorksheet.UsedRange;
            object[,] valueArray = (object[, ])xlRange.get_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault);
            for (int row = 1; row <= xlWorksheet.UsedRange.Rows.Count; ++row)
            {
                if (valueArray[row, 1] != null && valueArray[row, 1].ToString() != "")
                {
                    ValueList.Add(valueArray[row, 1].ToString());
                }
            }
            return(ValueList);
        }
Exemple #3
0
        private static List <Card> SetCardValues(Microsoft.Office.Interop.Excel.Workbook xlWorkbook)
        {
            List <Card> cardList = new List <Card>();

            Microsoft.Office.Interop.Excel.Worksheet xlWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkbook.Sheets.get_Item(1);

            // Get the range of cells which has data.
            Microsoft.Office.Interop.Excel.Range xlRange = xlWorksheet.UsedRange;

            // Get an object array of all of the cells in the worksheet with their values.
            object[,] valueArray = (object[, ])xlRange.get_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault);
            for (int row = 2; row <= xlWorksheet.UsedRange.Rows.Count; ++row)
            {
                Card Page = new Card();
                //if (valueArray[row, 1] != null && valueArray[row, 1].ToString() != "")
                //{
                //    Page.Question = valueArray[row, 1].ToString();
                //}
                //if (valueArray[row, 2] != null && valueArray[row, 2].ToString() != "")
                //{
                //    Page.Variable_Name = valueArray[row, 2].ToString();
                //}
                //if (valueArray[row, 3] != null && valueArray[row, 3].ToString() != "")
                //{
                //    Page.Question_Type = GetFieldType(valueArray[row, 3].ToString());
                //}
                //if (valueArray[row, 4] != null && valueArray[row, 4].ToString() != "")
                //{
                //    Page.Required = bool.Parse(valueArray[row, 4].ToString());
                //}
                //if (valueArray[row, 5] != null && valueArray[row, 5].ToString() != "")
                //{
                //    Page.List_Values = GetDropDownList(valueArray[row, 5].ToString(), xlWorkbook);
                //}
                //if (valueArray[row, 6] != null && valueArray[row, 6].ToString() != "")
                //{
                //    Page.If_Condition = valueArray[row, 6].ToString();
                //}
                //if (valueArray[row, 7] != null && valueArray[row, 7].ToString() != "")
                //{
                //    Page.Then_Question = valueArray[row, 7].ToString();
                //}
                //if (valueArray[row, 8] != null && valueArray[row, 8].ToString() != "")
                //{
                //    Page.Else_Question = valueArray[row, 8].ToString();
                //}
                //Page.PageName = "Page " + (row - 1).ToString();
                //Page.PageId = row - 1;
                //cardList.Add(Page);
                if (xlWorksheet.Cells[row, 1] != null && xlWorksheet.Cells[row, 1].Text != "")
                {
                    Page.Question = xlWorksheet.Cells[row, 1].Text;
                }
                //
                if (xlWorksheet.Cells[row, 2] != null && xlWorksheet.Cells[row, 2].Text != "")
                {
                    Page.Title = xlWorksheet.Cells[row, 2].Text;
                }
                if (xlWorksheet.Cells[row, 3] != null && xlWorksheet.Cells[row, 3].Text != "")
                {
                    Page.Description = xlWorksheet.Cells[row, 3].Text;
                }
                //
                if (xlWorksheet.Cells[row, 4] != null && xlWorksheet.Cells[row, 4].Text != "")
                {
                    string Text = xlWorksheet.Cells[row, 4].Text;
                    Page.Variable_Name = Text.Replace(" ", "_");
                }
                if (xlWorksheet.Cells[row, 5] != null && xlWorksheet.Cells[row, 5].Text != "")
                {
                    Page.Question_Type = GetFieldType(xlWorksheet.Cells[row, 5].Text);
                }
                if (xlWorksheet.Cells[row, 6] != null && xlWorksheet.Cells[row, 6].Text != "")
                {
                    Page.Required = bool.Parse(xlWorksheet.Cells[row, 6].Text);
                }
                if (xlWorksheet.Cells[row, 7] != null && xlWorksheet.Cells[row, 7].Text != "")
                {
                    Page.List_Values = GetDropDownList(xlWorksheet.Cells[row, 7].Text, xlWorkbook);
                }
                if (xlWorksheet.Cells[row, 8] != null && xlWorksheet.Cells[row, 8].Text != "")
                {
                    Page.If_Condition = xlWorksheet.Cells[row, 8].Text;
                }
                if (xlWorksheet.Cells[row, 9] != null && xlWorksheet.Cells[row, 9].Text != "")
                {
                    Page.Then_Question = xlWorksheet.Cells[row, 9].Text;
                }
                if (xlWorksheet.Cells[row, 10] != null && xlWorksheet.Cells[row, 10].Text != "")
                {
                    Page.Else_Question = xlWorksheet.Cells[row, 10].Text;
                }
                Page.PageName = "Page " + (row - 1).ToString();
                Page.PageId   = row - 1;
                cardList.Add(Page);
            }
            return(cardList);
        }
Exemple #4
0
        object ExcelGetField(Microsoft.Office.Interop.Excel.Range Cell, string tracciato_field, out string errore)
        {
            errore = "";
            object val  = Cell.get_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault);
            object val2 = Cell.Value2;

            string[] ff        = tracciato_field.Split(';');
            string   fieldname = ff[0];
            string   ftype     = ff[2].ToLower().Trim(); //(intero/numero/stringa/codificato/data)

            errore = "";
            //int len = Convert.ToInt32(ff[3]);
            if (val == null)
            {
                return(DBNull.Value);
            }
            if (val == DBNull.Value)
            {
                return(val);
            }
            if (val.ToString() == "")
            {
                return(DBNull.Value);
            }
            decimal numero;

            try {
                switch (ftype)
                {
                case "intero": {
                    string X = val.ToString().Trim().TrimStart('0');
                    if (X == "")
                    {
                        return(0);
                    }
                    return(Convert.ToInt32(X));
                }

                case "stringa":
                    return(val.ToString().TrimEnd(new char[] { ' ' }));

                case "numero":
                    if (isNumeric(val, out numero))
                    {
                        return(Convert.ToDecimal(numero));
                    }
                    else
                    {
                        errore = " Errore interno nel tracciato per tipo numerico " + fieldname + " di tipo " + ftype + " e di valore " +
                                 val.ToString().Trim().TrimStart('0');
                        return(null);
                    }

                case "data":      // DateTime.FromOADate and DateTime.ToOADate
                    return(DateTime.FromOADate(Convert.ToDouble(val2)));

                case "codificato": {
                    string[] codici = ff[4].Split('|');
                    for (int i = 0; i < codici.Length; i++)
                    {
                        if (val.ToString().ToLower() == codici[i].ToLower())
                        {
                            return(val);
                        }
                    }
                    errore = " Errore interno nel tracciato per tipo codificato " + fieldname + " di tipo " + ftype + " e di valore " +
                             val.ToString().Trim().TrimStart('0');
                    return(null);
                }

                default: {
                    errore = " Errore interno nel tracciato per tipo " + ftype + " e valore " + val.ToString().Trim().TrimStart('0');
                    return(null);
                }
                }
            }
            catch {
                errore = " Errore nella decodifica del campo " + fieldname + " di tipo " + ftype + " e di valore " + val.ToString().Trim().TrimStart('0');
                return(null);
            }
        }
Exemple #5
0
        static List <Query> DomainQuery(LoadingManager LM_item)
        {
            string ColumnsInsert = null;

            worksheet      = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[LM_item.ExcelSheetName];
            rangeSelection = worksheet.UsedRange;

            string Phase = null;
            string Desc  = null;
            string q     = null;

            ColumnsInsert = "(";
            List <Query> Queries           = new List <Query>();
            List <Query> Queries_by_Phases = new List <Query>();

            //object[,] values = (object[,])rangeSelection.Value;
            object[,] values = (object[, ])rangeSelection.get_Value();
            int maxC = values.GetLength(1);

            for (int c = 3; c <= maxC; c++)
            {
                if (c > 3)
                {
                    ColumnsInsert += ',';
                }
                ColumnsInsert += values[1, c];
            }
            ColumnsInsert += ")";
            int maxR = values.GetLength(0);

            for (int r = 2; r <= maxR; r++)
            {
                if (values[r, 1] != null)
                {
                    Phase = values[r, 1].ToString();
                }

                for (int c = 3; c <= maxC; c++)
                {
                    if (values[r, c] != null)
                    {
                        if (c > 3)
                        {
                            q += ',';
                            q += values[r, c].ToString().Trim();
                        }
                        else
                        {
                            q = "(" + values[r, c].ToString().Trim();
                        }
                    }
                }
                if (q != null)
                {
                    q += ")";
                    Queries.Add(new Query(LM_item.ExcelSheetName, q, Desc, Phase));
                }
                q     = null;
                Desc  = null;
                Phase = null;
            }

            var phases = Queries.Select(x => x.Phase).GroupBy(x => x).ToArray();

            foreach (var item in phases)
            {
                var    c       = Queries.Where(x => x.Phase == item.Key).ToArray();
                string Query_P = null;
                foreach (var q1 in c)
                {
                    if (Query_P != null)
                    {
                        Query_P += (',' + q1.Query_Text);
                    }
                    else
                    {
                        Query_P = q1.Query_Text;
                    }
                }
                Queries_by_Phases.Add(new Query(LM_item.ExcelSheetName, LM_item.InnitCommand + " insert Into " + LM_item.TableName + ColumnsInsert + " Values " + Query_P, null, item.Key));
            }

            return(Queries_by_Phases);
        }
        public void CSV_import_Click(object sender, RoutedEventArgs e)
        {
            var ifd = new wf.OpenFileDialog();

            ifd.ShowDialog();
            importpath = ifd.FileName; if (importpath == "")
            {
                Textmessage("Es wurde keine zu importierende Datei angegeben.");
            }
            else
            {
                treeView.Items.Clear();


                Microsoft.Office.Interop.Excel.ApplicationClass app      = new Microsoft.Office.Interop.Excel.ApplicationClass();
                Microsoft.Office.Interop.Excel.Workbook         workBook = app.Workbooks.Open(importpath, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

                Microsoft.Office.Interop.Excel.Worksheet workSheet = (Microsoft.Office.Interop.Excel.Worksheet)workBook.ActiveSheet;

                Microsoft.Office.Interop.Excel.Range usedRange = workSheet.UsedRange;

                object[,] valueArray = (object[, ])usedRange.get_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault);

                List <string[]> allLines     = new List <string[]>();
                string          selectedPath = "";
                if (valueArray.GetLength(0) > 1)
                {
                    selectedPath = valueArray[2, 1].ToString();

                    var rootDirectoryInfo = new DirectoryInfo(@selectedPath);
                    root = Node.GetTree(rootDirectoryInfo);
                    treeView.Items.Add(root);
                    root.FullPathDi = SelectedPath;

                    for (int i = 2; i < valueArray.GetLength(0); i++)
                    {
                        string[] values = new string[6];

                        values[0] = valueArray[i, 1].ToString();
                        values[1] = valueArray[i, 2].ToString();
                        values[2] = valueArray[i, 3].ToString();
                        values[3] = valueArray[i, 4].ToString();
                        values[4] = valueArray[i, 5].ToString();
                        values[5] = valueArray[i, 6].ToString();

                        allLines.Add(values);
                    }
                }
                else
                {
                    Textmessage("Fehler beim importieren.");
                    return;
                }
                importcheck2(root, allLines);


                //string targetFile = importpath + "Umwandler.csv";
                //convertExcelToCSV(importpath, "Tabelle1", targetFile);
                //importCSV(root, targetFile);
                OK.IsEnabled = true;
            }
        }