Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Einlesen eines Feldes aus einem Excel-File in Eplan P8 mit c#

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN
Autor Thema:  Einlesen eines Feldes aus einem Excel-File in Eplan P8 mit c# (2570 mal gelesen)
GNi
Mitglied
Entwicklungsingenieur


Sehen Sie sich das Profil von GNi an!   Senden Sie eine Private Message an GNi  Schreiben Sie einen Gästebucheintrag für GNi

Beiträge: 20
Registriert: 18.07.2014

Eplan P8 - Compact / V 2.3
Menüumfang: Experte

erstellt am: 13. Apr. 2016 18:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

kann man den Inhalt von Feldern eines Excel-Files einlesen? Grundsätzlich geht das natürlich mit c#, ich habe mal grob einen Code abgetippt. Ich möchte den Text aus dem Feld A1 auf Sheet 1 in einer MessageBox ausgeben:

##########################################################

using System;
using System.IO;
using System.Text;
using System.Diagnostics;
using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;
using Excel = Microsoft.Office.Interop.Excel;

public class Artikelimport
{
    [Start]
    public void Artikeleinfuegen()
    {

        Excel.Application xlApp = new Excel.Application();
        Excel.Workbook xlWorkBook = xlApp.Workbooks.Open("C:/test/test.xls");     // Excel-Dokument öffnen
        Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);  // Sheet 1 im Dokument auswählen

        string artikel = xlWorkSheet.get_Range("A1","A1").Value2.ToString();     // Feld 1 in String 'artikel' schreiben
       
        object misValue = System.Reflection.Missing.Value;
        xlWorkBook.Close(true, misValue, misValue);
        xlApp.Quit();

        string strProjektname = PathMap.SubstitutePath("$(PROJECTNAME)");     // Auslesen des Projektnamens

        DialogResult Result = MessageBox.Show("Wollen Sie Artikel " + artikel + " jetzt einfügen?",
                                                strProjektname,
                                                MessageBoxButtons.YesNo,
                                                MessageBoxIcon.Question
                                                ); // Ausgabe des Artikels: Jetzt einfügen? Ja/Nein

        }

}

##########################################################

Nur leider scheint Eplan mit dem Verweis auf Microsoft.Office.Interop.Excel nichts anfangen zu können. Wenn ich das Script in Eplan lade, erscheint die Fehlermeldung "Das Script xy konnte nicht kompiliert werden."

Es liegt eindeutig an Microsoft.Office.Interop.Excel , denn wenn ich das auskommentiere (und den entsprechenden Code weiter unten anpasse), funktioniert das Einbinden des Scriptes. Allgemein kann ich
using Microsoft
einbinden, ab
using Microsoft.Office
und alle Unterversionen bringen aber oben genannte Fehlermeldung hervor. Hat jemand eine Idee, woran das liegt?

Ich verwende .Net Framework 4.0, Office 2010 (d.h. Microsoft.Office.Interop.Excel Version 14.0.0.0), Visual Studio Express 2010

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

django
Moderator
Elektrokonstrukteur




Sehen Sie sich das Profil von django an!   Senden Sie eine Private Message an django  Schreiben Sie einen Gästebucheintrag für django

Beiträge: 2903
Registriert: 12.02.2002

EPLAN 3.33
EPLAN 5.xx
P8 1.9.6
P8 1.9.10
P8 1.9.11
P8 2.0.9 - 2.8
alle Prof.

erstellt am: 14. Apr. 2016 06:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GNi 10 Unities + Antwort hilfreich

Habe mal in der Hilfe der API geschaut. Dort wird das beschrieben. Ev. geht das nur mit der API-Lizenz ? Getestet habe ich das aber nicht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

F.S.
Moderator



Sehen Sie sich das Profil von F.S. an!   Senden Sie eine Private Message an F.S.  Schreiben Sie einen Gästebucheintrag für F.S.

Beiträge: 1815
Registriert: 23.04.2003

EPLAN Electric P8
2023 Prof.

erstellt am: 14. Apr. 2016 07:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GNi 10 Unities + Antwort hilfreich

Hallo,
das ist eine Li­mi­tie­rung des Scripting in Eplan.
Du kannst du auf bestimmte Namespace zugreifen, Microsoft.Office.Interop.Excel gehört leider nicht dazu. 

------------------
grüße
FrankS

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GNi
Mitglied
Entwicklungsingenieur


Sehen Sie sich das Profil von GNi an!   Senden Sie eine Private Message an GNi  Schreiben Sie einen Gästebucheintrag für GNi

Beiträge: 20
Registriert: 18.07.2014

Eplan P8 - Compact / V 2.3
Menüumfang: Experte

erstellt am: 14. Apr. 2016 07:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank! Wie immer rasend schnell 
Leider nicht die gewünschte Antwort. Dann hoffe ich, dass das hier einer von Eplan liest und dafür sorgt, dass das irgendwann geht... 
Da ich das File spaltenweise durchsuchen möchte, wäre ein Excel-File schon deutlich angenehmer, als ein csv-File.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Jonny Wire
Mitglied
Script-Troll


Sehen Sie sich das Profil von Jonny Wire an!   Senden Sie eine Private Message an Jonny Wire  Schreiben Sie einen Gästebucheintrag für Jonny Wire

Beiträge: 786
Registriert: 08.12.2008

EPLAN Electric P8
... in allen Versionen/Varianten

erstellt am: 14. Apr. 2016 08:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GNi 10 Unities + Antwort hilfreich

EPLAN wird hier nichts ändern, da Sie die API leider kostenpflichtig verkaufen möchten...

Das wäre noch ein Workaround für dich:
http://suplanus.de/externaltestassembly/

Damit kannst du alle gewünschten Namespaces verwenden.

------------------
Scripting in EPLAN ist einfach (toll)!

Scripte & Anwendungen rund um EPLAN!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz