2009-03-11 1 views
2

Мне нужно импортировать данные из файла excel, но какое-то поле является объединенной ячейкой.ASP: Как импортировать данные из объединенной ячейки в Excel?

Как определить, объединено ли поле или нет, и сколько ячеек объединено в этом поле?

Мой код выглядит так:

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 

данные, как это:

Категория A

имя 1 убывание 1

Имя 2 убывание 2

Категория B

имени 3 убывания 3

имени 4 убывания 4

Спасибо большого !!

+0

Marge == Объединить поле? –

+0

Я не понимаю вашего значения. – March

+0

Крис Хайнс спрашивает о слове, которое вы использовали: «marge». На самом деле это должно быть «слияние», как в «ячейках объединились». Я внес изменения в ваш вопрос. –

ответ

3

Слияние ячеек - это просто форматирование. Он не будет отображаться в данных. Если вы получаете доступ к файлу Excel через ADO и драйвер Excel, вы просто смотрите на данные, а не на форматирование.

Если вам действительно нужно это сделать, вам может потребоваться создать объект Excel.Application и использовать объектную модель Excel для проверки ячеек и их форматирования. Это нормально работает на рабочем столе, но на самом деле не может быть надежно реализовано на сервере, поэтому, например, если вы пытаетесь сделать это в веб-приложении, у вас могут быть проблемы.

+0

+1 - Джоэл, не могли бы вы использовать свои полномочия по редактированию и исправить «Мардж» :) –

+0

Мне нравится Мардж именно так, как она есть. Не хотела бы, чтобы она немного изменилась. –