vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: Micke
Datum: 19.03.11 07:17

Zitat:

Hier steht, dass es erst ab Office 2003 möglich ist

office ist abwärtskompatibel.

die office tools für vst haben nix mit einem installierten office zu tun, die sind ihre eigene bibliothek.
office selbst bringt auch .net unterstützung mit, kannst auch diese assemblies nehmen.
beide unterscheiden sich leicht, aber workbookclass bleibt workbookclass.

Murks - z.b. warum tippt jemand erst die daten in excel ein, warum nicht gleich im grid.
aber eine prozessdebatte wollt ich nicht anstossen, mach nur wie du denkst.

Micke

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: 2Net
Datum: 18.03.11 16:57

Hallo allerseits,

ich möchte (mir fällt hier erst einmal per oledb-Connection ein) eine Exceldatei in ein Datagridview einlesen, wobei diese Vorgehensweise unabhängig von der Excel-Version sein sollte. Im Connection String muss jedoch meines Wissens nach die Excel-Version angegeben werden.

Kennt jemand einen Weg dieses zu bewerktelligen ohne dabei kostenpflichtige Komponenten in Anspruch zu nehmen? Gerne auch ohne olddb-Conection. Carlos ExcelWriter hilft mir nicht, da auch ältere Excel-Dateien ausgelesen werden sollen.

Vielen Dank!

PS: Diesen Link(http://www.vbarchiv.net/forum/read.php?f=10&t=70150&i=70161) habe ich schon hinsichtlich der dort aufgelisteten Möglichkeiten/Komponenten berücksichtigt.

----
Meine Komponenten sind:
Visual Studio 2008 (Standard) SP 1
Windows 7 SP 1

Beitrag wurde zuletzt am 18.03.11 um 17:00:41 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: Micke
Datum: 18.03.11 21:46

für den zugriff nimmt man z.b. office tools für vst, die z.b. der installtion des VST beiligen.
kann man auch runterladen.

die excelversion ist dabei schnuppe, bzw. muß man halt schauen ob die funktionen die man benutzt auch existieren.

aber ein excelsheet im datagridviev anzeigen ist tendenziell Murks.

Micke

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: 2Net
Datum: 19.03.11 03:08

Zitat:

die excelversion ist dabei schnuppe, bzw. muß man halt schauen ob die funktionen die man benutzt auch existieren.

Hier steht, dass es erst ab Office 2003 möglich ist:
http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=F5539A90-DC41-4792-8EF8-F4DE62FF1E81
Oder hab ich da etwas falsch verstanden? Sind die VSTO nicht nur in der Professional-Version enthalten?

Warum ist es murks, Excel in ein DatagridViews bzw. der darunterliegenden Table mit BindingSource zu überführen? Ich möchte den Anwender zunächst hinsichtlich eines Imports auswählen lassen, welche Daten er importieren möchte.

Beste Grüße

----
Meine Komponenten sind:
Visual Studio 2008 (Standard) SP 1
Windows 7 SP 1

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: ModeratorFZelle (Moderator)
Datum: 19.03.11 10:59

Da bist du aber schlecht informiert.
http://msdn.microsoft.com/de-de/library/bb608603.aspx

Die Officetools sind nur eine Erweiterung der PIA, benötigen also auch ein installiertes Office.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: ModeratorFZelle (Moderator)
Datum: 19.03.11 11:00

Du musst nur dann eine Excelversion angeben, wenn du mit Office 2007 Dateien arbeitest, weil dann ein anderer OleDb Provider benutzt werden muss.

Aber was hast Du aus dem Link probiert?
Und was geht nicht?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: Earny
Datum: 19.03.11 12:19

Hallo,

ich habe mal irgendwann diesen 3-Zeiler irgendwo in einer MSDN-Hilfe gefunden:

Public Class Form1
Dim Exc As Object
 
Private Sub btnMappeOeffnen_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnMappeOeffnen.Click
    Try
        Exc = GetObject(CurDir() & "\Mappe1.xls") 'Wertzuweisung für Exc-Objekt
        Exc.Application.Visible = True 'Excel starten und sichtbar schalten
        Exc.Windows(1).Visible = True 'Tabelle1 (linke Tabelle) sichtbar 
        ' schalten
        Me.Activate() 'VB-Formular wieder in den Vordergrund bringen
    Catch ex As Exception
        MessageBox.Show(ex.Message, "Excel-Fehler", MessageBoxButtons.OK,
        MessageBoxIcon.Error)
    End Try
...
...
Wegen CurDir wird die Excel-Mappe im Ordner bin\debug gesucht, wenn du in der Entwicklungsumgebung testest. Du kannst aber auch den kompletten Pfad angeben.
Dieser Zugriff mit später Bindung auf eine vorhandene Excel-Mappe sollte mit jeder Excel-Version funktionieren.
Bei mir hat der Zugriff aus VB2005Prof auf Excel2000 und Excel2007 immer funktioniert.

Ein Kollege sagte, dass der Zugriff von VB2010Exp. auf Excel2010 mit der obigen Methode nicht gehen soll, was ich aber nicht glaube. Ich kann es nicht testen, weil ich kein Excel2010 habe.
Ich kann mir nicht vorstellen, dass MS auch das Excel-Objektmodell gravierend geändert hat. Normalerweise werden nur die Farbverläufe optimiert. Natürlich gilt das nicht für den Übergang von 2003 auf 2007. Hier gab es aus meiner Sicht tatsächlich substantielle Verschlechterungen.


Gruß
Earny
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: 2Net
Datum: 19.03.11 14:26

Micke schrieb:
Zitat:


Murks - z.b. warum tippt jemand erst die daten in excel ein,
warum nicht gleich im grid.
aber eine prozessdebatte wollt ich nicht anstossen, mach nur
wie du denkst.

Ich schrieb bereits: es handelt sich um einen Import von Daten. Sprich: Anwender möchte Daten aus einer Exceltabelle in die Anwendung importieren bzw. diese zunächst nur anzeigen lassen.

----
Meine Komponenten sind:
Visual Studio 2008 (Standard) SP 1
Windows 7 SP 1

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: 2Net
Datum: 19.03.11 14:42

http://www.codeproject.com/KB/office/biffcsharp.aspx
Dies ist lediglich ein Writer - ich benötige einen Reader.


Das nachfolgende Excelpackage funtkioniert nicht bei alten Excelversionen
http://excelpackage.codeplex.com/

Die übrigen Links von Dave führten zu kommerziellen Produktionen, von denen ich eigentlich absehen wollte. Zur Zeit überlege ich allerdings, ob sich diese Investition auch für einen Hobbyprogrammierer lohnen würde. Hier fand ich vom Preis smartxls interessant. Spreadsheetgear (free) ist leider vom Umfang nicht ausreichend. Das normale Spreadsheetgear finde ich derzeit vom Preis her etwas zu viel für meinen Geldbeutel. Hierzu gerne Erfahrungen und Meinungen.

Nun gut - zur Anfangsfragestellung... Ist es richtig, dass eine Lösung, die wäre, zunächst zu prüfen um welche Excel-Datei-Version es sich handelt (Office 2007 ja oder nein), dann den entsprechenden Connection-String zu erstellen und dann per Code einzulesen? Gibt es Beschränkungen?

----
Meine Komponenten sind:
Visual Studio 2008 (Standard) SP 1
Windows 7 SP 1

Beitrag wurde zuletzt am 19.03.11 um 14:46:46 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: 2Net
Datum: 19.03.11 14:44

Hallo,

ich möchte i.d.F. keine Excel-Automation verwenden, sondern einen Weg finden, der auch funktioniert, wenn Excel nicht installiert ist.

Trotzdem Danke!

----
Meine Komponenten sind:
Visual Studio 2008 (Standard) SP 1
Windows 7 SP 1

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: ModeratorFZelle (Moderator)
Datum: 20.03.11 20:20

Natürlich wird es Beschränkungen geben, wie z.b. falsche eingelesene Felder,
das hat dann aber eher andere Gründe.

Excel 2007 und neuer erkennst du ja an der Extension xlsx.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: 2Net
Datum: 21.03.11 00:58

FZelle schrieb:
Zitat:

Natürlich wird es Beschränkungen geben, wie z.b. falsche
eingelesene Felder,
das hat dann aber eher andere Gründe.

Welche sind das?

----
Meine Komponenten sind:
Visual Studio 2008 (Standard) SP 1
Windows 7 SP 1

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: ModeratorFZelle (Moderator)
Datum: 21.03.11 10:13

Wenn z.b. der OleDb Provider in den ersten Zeilen der Tabelle den Datentyp einer Spalte nicht ganz richtig erfasst.
Aber wie gesagt, das hat nicht mit OleDb zu tun.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: 2Net
Datum: 21.03.11 11:32

Okay. Dann erscheint mir eine Lösung mittels kommerziellen Produkt wohl am sinnvollsten. Hast Du bzw. hat jemand Erfahrung mit smartxls gemacht (ist deutlich billiger als GemboxSpreadsheet*)?

*Die free-Version kommt aufgrund der Beschränkungen leider nicht infrage.

----
Meine Komponenten sind:
Visual Studio 2008 (Standard) SP 1
Windows 7 SP 1

Beitrag wurde zuletzt am 21.03.11 um 11:33:36 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: ModeratorFZelle (Moderator)
Datum: 21.03.11 12:01

Hast Du denn dieses Problem?
Da es da auch Lösungen für gibt, wieso willst du "nur" für den Import sowas haben?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: 2Net
Datum: 21.03.11 12:15

Ich bin zunächst davon ausgegangen, das es dafür keine Lösungen gibt, da Du auf die Probleme hingewiesen hast.

----
Meine Komponenten sind:
Visual Studio 2008 (Standard) SP 1
Windows 7 SP 1

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel lesen mittels oledb bei unbekannter Excelversion 
Autor: ModeratorFZelle (Moderator)
Datum: 21.03.11 13:59

Nein, es gibt Lösungen, aber es sind halt Fehler die von Leuten gemeldet werden, die dann meist erst fragen statt zu suchen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel