Перейти к содержимому

Фотография

Получение данных из Excel файла


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Alex-tester

Alex-tester

    Новый участник

  • Members
  • Pip
  • 22 сообщений
  • ФИО:Альферович Лёха


Отправлено 21 ноября 2006 - 10:01

Пример демонстрирует возможность получения данных из Excel файла.
ReadFromXLS - функция, которая будет загружать данные из указанного excel (и листа) файла, в указанный массив

Function ReadFromXLS( FileName as String, sSheetName as String, Values() as String ) as Integer
' FileName - путь и название excel файла
' sSheetName - название excel листа, из которого будут грузится данные
' Values() - массив, в котором будут храниться полученные данные

Dim k,j,n as Integer
Dim sValue as String
Dim worksheet as Object
Dim Workbook as Object
Dim XLS as Object

on error resume next

set XLS = GetObject( , "excel.application" )

if ( XLS is Nothing ) Then set XLS = CreateObject( "excel.application" )
if ( XLS is Nothing ) Then Exit Function

set Workbook = XLS.Workbooks.Open( FileName, ReadOnly := true ) ' начинаем работу с excel файл - FileName

XLS.Visible = true

set worksheet = Workbook.Worksheets(sSheetName) ' начинаем работу с листом - sSheetName

ReadFromXLS = 0

' определение кол-ва столбцов

n = 0
for j=1 to 100
sValue = worksheet.Cells(1,j).Value
if sValue="" then Exit For
n = j
next

' загружаем данные из excel в наш массив
for k=1 to 100
for j=1 to n
sValue = worksheet.Cells(k+1,j).Value
Values(k,j) = sValue
next

sValue = worksheet.Cells(k+1,1).Value
if sValue="" then Exit For
ReadFromXLS = k
next

XLS.Quit
End Function


Sub Main
Dim Result As Integer
Dim sValue (100, 100) as String 'предполагаем что больше строк и столбцов не будет
Dim nValue as Integer ' в этой переменной будет храниться количество строк

nValue = ReadFromXLS( "c:\test\excel_test.xls", " Данные - 1", sValue)

' Далее работаем с массивом данных sValue(), число строк в массиве равно nValue

End Sub
  • 0

#2 averina

averina

    Новый участник

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Аверина Любовь Александровна
  • Город:Санкт-Петербург


Отправлено 29 мая 2007 - 11:53

О. Спасибо, то что надо для начинающего.

Для будущих поколений: Excel файл должен быть открыт, у меня не захотел понимать русские символы в названии листа.
  • 0

#3 QA*

QA*

    Активный участник

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 14 мая 2009 - 06:44

О. Спасибо, то что надо для начинающего.

Для будущих поколений: Excel файл должен быть открыт, у меня не захотел понимать русские символы в названии листа.

У меня не нужно открыть Excel файл и русские символы читаются нормально.
Excel файл открывается после вызова функции ReadFromXLS и закрывается после успешного завершения работы функции
  • 0

#4 QA*

QA*

    Активный участник

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 14 мая 2009 - 06:47

интересно было бы еще и записывать данные в Excel файл..
  • 0

#5 UlEl

UlEl

    Новый участник

  • Members
  • Pip
  • 4 сообщений

Отправлено 15 мая 2009 - 04:07

интересно было бы еще и записывать данные в Excel файл..

http://software-test.../topic8739.html не подойдет? :)
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных