2009-03-11 19 views
2

Bir excel dosyasından veri almam gerekiyor, ancak bazı alanlar birleştirilmiş bir hücredir.ASP: Excel'de birleştirilmiş bir hücreden veri nasıl alınır?

Bir alanın birleştirilip birleştirilmediğini ve bu alanda birlikte kaç hücrenin birleştirildiğini nasıl belirleyebilirim?

Benim kod şu şekildedir:

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 

veri şu şekildedir:

Kategori A

adı 1 desc 1

adı 2 desc 2

Kategori B

adı 3 desc 3

adı 4 desc 4

Çok teşekkürler !!

+0

Marge == Birleştirme alanı? –

+0

Anlamınızı anlamıyorum. – March

+0

Chris Hynes kullandığın kelimeyi soruyor: "marge". Aslında "hücreler bir araya getirildi" de olduğu gibi "birleştirme" olmalıdır. Sorunu değiştirdim. –

cevap

3

Hücrelerin birleştirilmesi sadece biçimlendirici bir şeydir. Veride görünmeyecek. Excel dosyasına ADO ve Excel sürücüsü üzerinden erişiyorsanız, sadece veriye bakarsınız, biçimlendirmeye değil.

Gerçekten bunu yapmak zorundaysanız, bir Excel.Application nesnesi oluşturmanız ve hücreleri ve bunların biçimlendirmesini incelemek için Excel nesne modelini kullanmanız gerekebilir. Bu, masaüstünde işe yarıyor ancak bir sunucuda gerçekten güvenilir bir şekilde yapılamıyor, örneğin, bir web uygulamasında bunu yapmaya çalışıyorsanız, sorunlarınız olabilir.

+0

+1 - Joel, düzenleme süper güçlerini kullanabilir ve "Marge" ı tamir edebilir misin? :) –

+0

Marge'ı olduğu gibi seviyorum. Bir bit değişmesini istemezdi. –

İlgili konular