2009-03-11 10 views
2

Ich muss Daten aus einer Excel-Datei importieren, aber ein Feld ist eine verbundene Zelle.ASP: Wie Daten aus einer verbundenen Zelle in Excel importieren?

Wie kann ich feststellen, ob ein Feld zusammengeführt ist oder nicht, und wie viele Zellen in diesem Feld zusammengeführt sind?

ist mein Code wie folgt:

Dim Conn, DBPath ,Rs 

Set Conn = Server.CreateObject("ADODB.Connection") 

DBPath = "Driver={Microsoft Excel Driver (*.xls)}; DBQ=" & Server.MapPath("program.xls") 

Conn.Open Driver & DBPath 

Sql="Select F1, F2 From [Sheet1$]" 

Set ODBCrs=Conn.Execute(Sql) 

while Not ODBCrs.EOF 

    conn2.execute("insert into....") 

    ODBCrs.MoveNext 

wend 

ODBCrs.Close 

Conn.Close 

Die Daten sind wie folgt aus:

Kategorie A

Name 1 Abs 1

Name 2 Abs 2

Kategorie B

Name 3 Abs 3

Name 4 Abs 4

Vielen Dank !!

+0

Marge == Feld zusammenführen? –

+0

Ich verstehe deine Bedeutung nicht. – March

+0

Chris Hynes fragt nach dem Wort, das du benutzt hast: "marge". Es sollte eigentlich "merge" sein, wie in "die Zellen wurden zusammengeführt". Ich habe die Änderung in Ihrer Frage gemacht. –

Antwort

3

Das Zusammenführen von Zellen ist nur eine Formatierungssache. Es wird nicht in den Daten angezeigt. Wenn Sie über ADO und den Excel-Treiber auf die Excel-Datei zugreifen, betrachten Sie nur die Daten, nicht die Formatierung.

Wenn Sie wirklich wirklich dies tun müssen, müssen Sie möglicherweise ein Excel.Application-Objekt erstellen und das Excel-Objektmodell zum Überprüfen der Zellen und ihrer Formatierung verwenden. Dies funktioniert auf dem Desktop zwar einwandfrei, kann aber auf einem Server nicht wirklich zuverlässig durchgeführt werden. Wenn Sie dies beispielsweise in einer Webanwendung versuchen, treten möglicherweise Probleme auf.

+0

+1 - Joel, könntest du deine Bearbeitungs-Superkräfte benutzen und "Marge" reparieren :) –

+0

Ich mag Marge genauso wie sie ist. Ich möchte nicht, dass sie sich ein bisschen verändert. –