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