Laden...

Werte aus Excel auslesen

Erstellt von ghjdsalögdsn vor 9 Jahren Letzter Beitrag vor 9 Jahren 5.968 Views
G
ghjdsalögdsn Themenstarter:in
12 Beiträge seit 2015
vor 9 Jahren
Werte aus Excel auslesen

Hallo zusammen,

Es ist mein erster Beitrag hier, ich werde also bestimmt einiges falsch machen 😛

Da ich noch sehr neu im Programmieren bin, aber schon relativ viel mit Excel gemacht habe, kann ich durch eine Kombination der beiden schon relativ hilfreiche Programme schreiben.
Ich bin jetzt allerdings auf ein Problem gestoßen, dass mich inzwischen echt nervt, deswegen wollte ich mach Euch fragen, ob ihr zu dem allgemeinen Thema "Zugriff auf Excel" irgendwelche Seiten, Blogs oder auch Bücher kennt?

Jetzt aber mal zur exakten Frage:

Ich möchte einen Wert aus einer Zelle in Excel auslesen. Dieser Wert soll als Variable definiert werden.

Das sieht bei mir dann ungefähr so aus:

string x = objWorksheet.Cells[2,13];

mir ist schon bewusst, dass das so nicht funktionieren kann, nur weiß ich es leider nicht besser und habe im Internet viele verschiedene Lösungen gefunden, die ich aber alle nicht funktionsfähig umsetzten konnte.

Ich hoffe, dass mir jemand von Euch helfen kann!

T
19 Beiträge seit 2015
vor 9 Jahren

Hi StativBus,

was hast du anschließend damit vor?

Je nach Aufgabenstellung reicht es vielleicht aus die VBA Programmierschnittstelle von Excel selbst zu nutzen, welche meiner Meinung nach Anfängerfreundlich ist.

Viele Grüße
Torben

G
ghjdsalögdsn Themenstarter:in
12 Beiträge seit 2015
vor 9 Jahren

Damit habe ich bereits gearbeitet und könnte es auch so lösen, allerdings suche ich mir immer irgendwelche alltäglichen Dinge und möchte diese dann für mich benutzerfreundlich programmieren.

Es geht hier weniger um den Sinn, eher um den Lerneffekt für mich 😃

T
19 Beiträge seit 2015
vor 9 Jahren

Hast du denn schon eine Verbindung zu Excel aufgebaut?

W
872 Beiträge seit 2005
vor 9 Jahren

So simple ist die Frage nicht, da es viele Möglichkeiten gibt.
Eine wichtige Frage ist, ob Du implizit Excel benutzen willst oder nicht. Auch die Version von Excel spielt eine grosse Rolle, da es mal eine Wechsel in den Datei-Formaten gab. xls ist prorietär - xlsx ist offen, gibt es aber erst in neuen Versionen von Excel.
Ich selber bin ein Fan von EPPlus. Schau Dir dort die Beispiele an.
Das einfachste Beispiel sieht etwa so aus


            using (var package = new ExcelPackage(file))
            {
                var workbook = package.Workbook;
                var zelle = workbook.Worksheets.First().Cells[lineCtr, 2].Value.ToString();

G
ghjdsalögdsn Themenstarter:in
12 Beiträge seit 2015
vor 9 Jahren

Hast du denn schon eine Verbindung zu Excel aufgebaut?

was meinst du mit verbindung?

Ich öffne in meinem jetztigen Code Excel und daraufhin die Datei in die ich schreiben will. Ich habe den Verweis eingestellt und using Microsoft..etc... eingegeben.

G
ghjdsalögdsn Themenstarter:in
12 Beiträge seit 2015
vor 9 Jahren

Das einfachste Beispiel sieht etwa so aus

  
            using (var package = new ExcelPackage(file))  
            {  
                var workbook = package.Workbook;  
                var zelle = workbook.Worksheets.First().Cells[lineCtr, 2].Value.ToString();  
  

was bewirkt dieses "programm"? 😛

W
872 Beiträge seit 2005
vor 9 Jahren

EPPlus ist eine Bibliothek zum Lesen und Schreiben von xlsx-Dateien.
Damit kannst Du ohne Excel arbeiten. Das ist schneller und stabiler als wenn Dein Programm mit Excel im Hintergrund arbeitet.

G
ghjdsalögdsn Themenstarter:in
12 Beiträge seit 2015
vor 9 Jahren

EPPlus ist eine Bibliothek zum Lesen und Schreiben von xlsx-Dateien.
Damit kannst Du ohne Excel arbeiten. Das ist schneller und stabiler als wenn Dein Programm mit Excel im Hintergrund arbeitet.

okay, dann habe ich mich wohl nicht so gut ausgedrückt, tut mir leid.

Es geht mit dem Programm lediglich darum, benutzerfreundlicher Daten in Excel einzugeben. Um zu wissen, wo die Daten eingetragen werden sollen muss ich aus einer Zelle einen Wert auslesen. Diesen will ich in eine Variable speichern.

Danke schonmal für eure bisherigen Ansätze!

G
ghjdsalögdsn Themenstarter:in
12 Beiträge seit 2015
vor 9 Jahren

Es hat jetzt funktioniert, es verwundert mich nur ein bisschen, wie.

ich hatte zuerst

string x = meinWorsheet.Cells[row,column].Value.ToString()

hierbei gab es Fehler, daraufhin habe ich es nur in eine andere Form gebracht:

string x = Convert.ToString(meinWorsheet.Cells[row,column].Value)

jetzt funktioniert es 👅

trotzdem danke für eure hilfe!!!

Hinweis von Coffeebean vor 9 Jahren

Bitte benutze Code Tags [Hinweis] Wie poste ich richtig? Punkt 6