/// <summary>
        /// Auswahl der Datendatei für Eplan / Comos Vergleich
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSelectFileEplanContent_Click(object sender, RoutedEventArgs e)
        {
            Filetypen selectFileTyp = new Filetypen();

            selectFileTyp.filter    = "XML"; // einstellen Datei Typ
            tbopenEplanContent.Text = selectFileFromDiskFilter(selectFileTyp, @"C:\Users\Public\Documents\XML");
            this.Title = "XML Datei ist gewählt";
        }
        private void btnAuswahlConfigFürFehlersuche_Click(object sender, RoutedEventArgs e)
        {
            Filetypen selectFileTyp = new Filetypen();

            selectFileTyp.filter = "XML";
            tbFehlersuche.Text   = selectFileFromDiskFilter(selectFileTyp, @"c:\User\Public\Documents");
            this.Title           = "Comos Daten-Datei ist gewählt";
        }
        /// <summary>
        /// Auswahl der Datendatei für Import
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSelectComosFile_Click(object sender, RoutedEventArgs e)
        {
            Filetypen selectFileTyp = new Filetypen();

            selectFileTyp.filter = "Excel";
            tbImportExcel.Text   = selectFileFromDiskFilter(selectFileTyp, @"c:\Daten\");
            this.Title           = "Comos Datei ist gewählt";
        }
        /// <summary>
        /// Auswahl Comos Datei für Vergleich
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private void btnSelectComosContent_New_Click(object sender, RoutedEventArgs e)
        {
            Filetypen selectFileTyp = new Filetypen();

            selectFileTyp.filter        = "XML"; // einstellen Datei Typ
            tbopenComosContent_New.Text = selectFileFromDiskFilter(selectFileTyp, outputDirectory);
            this.Title = "Neue Comos XML Datei ist gewählt";
        }
        /// <summary>
        /// Vergleicher Datei Auswahl
        /// </summary>
        private void btnSelectComosContent_Old_Click(object sender, RoutedEventArgs e)
        {
            Filetypen selectFileTyp = new Filetypen();

            selectFileTyp.filter        = "XML";                                                    // einstellen Datei Typ
            tbopenComosContent_Old.Text = selectFileFromDiskFilter(selectFileTyp, outputDirectory); //@"C:\Users\Public\Documents\XML");
            this.Title = "Alte Comos XML Datei ist gewählt";
        }
        /// <summary>
        /// Auswahl Datendatei für Exoprt nach Eplan
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnselectComosToEplan_Click(object sender, RoutedEventArgs e)
        {
            Filetypen selectFileTyp = new Filetypen();

            selectFileTyp.filter    = "XML";                                                    // einstellen Datei Typ
            tbopenComosToEplan.Text = selectFileFromDiskFilter(selectFileTyp, outputDirectory); // @"C:\Users\Public\Documents\XML");
            this.Title = "Comos Daten für Export ist gewählt";


            loadPLConfig();
        }
Beispiel #7
0
        /// <summary>
        /// FileopenDialog
        /// </summary>
        /// <param name="filterTyp"></param>
        /// <param name="directory"></param>
        /// <returns></returns>
        private string selectFileFromDiskFilter(Filetypen filterTyp, string directory)

        {
            string fileSelect = "";

            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter           = filterTyp.filter;
            openFileDialog.Title            = filterTyp.title;
            openFileDialog.InitialDirectory = directory;
            if (openFileDialog.ShowDialog() == true)
            {
                fileSelect = openFileDialog.FileName;
            }
            else
            {
                fileSelect = "";
            }
            return(fileSelect);
        }
        /// <summary>
        /// Import des Eplan Inhaltsverzeichnis nach XML
        /// </summary>
        /// <remarks>
        /// Filter müssen angepasst werden!!
        /// </remarks>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOpenFileEplan_Click(object sender, RoutedEventArgs e)
        {
            Filetypen selectFileTyp = new Filetypen();

            selectFileTyp.filter = "Excel";
            string fileEplan = selectFileFromDiskFilter(selectFileTyp, @"c:\Daten\");

            this.Title = "Eplan Inhaltsverzeichnis ist gewählt";

            // Prüfen ob Datei existiert
            if (string.IsNullOrEmpty(fileEplan) || !File.Exists(fileEplan))
            {
                MessageBox.Show("Es wurde keine Datei gewählt");
            }
            else
            {
                Excel.Application xlApp;
                Excel.Workbook    xlWorkBook;
                Excel.Worksheet   xlWorkSheet;
                Excel.Range       range;
                object            misValue = Missing.Value;
                // Prüfen ob Datei existiert

                Title       = "Exceldatei wird ausgelesen";
                xlApp       = new Excel.Application();
                xlWorkBook  = xlApp.Workbooks.Open(fileEplan, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
                xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
                range       = xlWorkSheet.UsedRange;

                // Größe des Arrys festlegen
                EplanDataContent[] importEplan;
                importEplan = new EplanDataContent[range.Rows.Count + 1];
                // Daten einlesen
                for (int i = 6; i <= range.Rows.Count; i++)
                {
                    // Zugriff auf jede Zeile
                    if ((range.Cells[i, 1] as Excel.Range).Value2 != null)
                    {
                        try
                        {
                            // Variante mit importEplan
                            importEplan[i].Anlage             = (string)(range.Cells[i, 2] as Excel.Range).Value2;
                            importEplan[i].Einbauort          = (string)(range.Cells[i, 3] as Excel.Range).Value2;
                            importEplan[i].Struktur           = (string)(range.Cells[i, 4] as Excel.Range).Value2;
                            importEplan[i].Seitenname         = (string)(range.Cells[i, 5] as Excel.Range).Value2;
                            importEplan[i].Seitenbeschreibung = (string)(range.Cells[i, 7] as Excel.Range).Value2;
                            importEplan[i].Änderungsdatum     = (string)(range.Cells[i, 8] as Excel.Range).Value2;
                            importEplan[i].Erstellungsdatum   = (string)(range.Cells[i, 9] as Excel.Range).Value2;
                            importEplan[i].Makroname          = (string)(range.Cells[i, 10] as Excel.Range).Value2;
                            importEplan[i].Makrobeschreibung  = (string)(range.Cells[i, 11] as Excel.Range).Value2;
                            importEplan[i].Bemerkungen        = (string)(range.Cells[i, 12] as Excel.Range).Value2;
                        }
                        catch (Exception)
                        {
                            MessageBox.Show(string.Format("Fehler beim einlesen der Exceldatei Datensatz {0}!", i));
                        }
                    }
                }
                // Excel beenden
                xlWorkBook.Close(true, misValue, misValue);
                xlApp.Quit();
                releaseObject(xlWorkSheet);
                releaseObject(xlWorkBook);
                releaseObject(xlApp);
                Title = "Exceldatei ist geschlossen";

                //Filtern
                EplanDataContent[] filterDataEplan;
                filterDataEplan = new EplanDataContent[importEplan.Length];
                int j = 0;
                foreach (EplanDataContent temp in importEplan)
                {
                    if ((temp.Struktur != "BFS") & (temp.Struktur != null))
                    {
                        //Anlagenfilter entfernt
                        //if ((temp.Anlage == "PL21") | (temp.Anlage == "PL22") | (temp.Anlage == "PL23") | (temp.Anlage == "PL30") | (temp.Anlage == "PL31") | (temp.Anlage == "PL15") | (temp.Anlage == "PL41") | (temp.Anlage == "PL42") | (temp.Anlage == "PL43") | (temp.Anlage == "PL44") | (temp.Anlage == "PL45") | (temp.Anlage == "PL46"))
                        //{
                        filterDataEplan[j].Anlage             = temp.Anlage;
                        filterDataEplan[j].Einbauort          = temp.Einbauort;
                        filterDataEplan[j].Struktur           = temp.Struktur;
                        filterDataEplan[j].Seitenname         = temp.Seitenname;
                        filterDataEplan[j].Seitenbeschreibung = temp.Seitenbeschreibung;
                        filterDataEplan[j].Änderungsdatum     = temp.Änderungsdatum;
                        filterDataEplan[j].Erstellungsdatum   = temp.Erstellungsdatum;
                        filterDataEplan[j].Makroname          = temp.Makroname;
                        filterDataEplan[j].Makrobeschreibung  = temp.Makrobeschreibung;
                        filterDataEplan[j].Bemerkungen        = temp.Bemerkungen;
                        j++;
                        //}
                    }
                }
                // zählen wie viele Elemente beschrieben sind
                int g = 0;
                foreach (EplanDataContent temp in filterDataEplan)
                {
                    if (temp.Anlage != null)
                    {
                        g++;
                    }
                }
                // Erstellen des Temp-Elementes
                EplanDataContent[] filterDataEplan_2;
                filterDataEplan_2 = new EplanDataContent[g];

                // Elemente in neue Struktur umkopieren
                for (int i = 0; i < g; i++)
                {
                    try
                    {
                        filterDataEplan_2[i] = filterDataEplan[i];
                    }
                    catch (Exception)
                    {
                        MessageBox.Show(string.Format("Fehler beim einlesen der Exceldatei Datensatz {0}!", i));
                    }
                }

                string XMLFile = (string.Format(outputDirectory + "\\Eplan_Inhaltsverzeichnis_{0}{1}{2}.xml", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day));
                XMLwriteEplan(filterDataEplan_2, fileEplan, XMLFile);
                tbopenEplanContent.Text = XMLFile;
            }
        }