Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2012, 16:53   #1
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию Импорт данных в Excel

Добрый день, уважаемые форумчане!
В первый раз сталкиваюсь с такой задачей. Направьте на путь истинный.
А задача такая: заказ формируется на сайте, выгружается в виде php текста (текстовый файл прилагается). Как возможно программно импортировать эти данные в Excel базу с аналогичной структурой таблицы?
Спасибо заранее за отклики.
Вложения
Тип файла: txt lastordercache.php.txt (1.2 Кб, 133 просмотров)
strannick вне форума Ответить с цитированием
Старый 19.02.2012, 18:22   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Использовать функции для работы с файлами, можно получить построчно переменные и их вставлять в нужное место таблицы.
motorway вне форума Ответить с цитированием
Старый 19.02.2012, 20:09   #3
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

В том-то и дело, что я в связке PHP и EXCEL ни в зуб ногой. Как имея такой текстовой файл (прикрепленный) импортировать в готовую базу Excel понятно. А существуют ли методы импорта сразу в таблицу Excel, так сказать минуя, промежуточные стадии? Вот в чем вопрос. Подскажите, кто в курсе.
strannick вне форума Ответить с цитированием
Старый 19.02.2012, 20:41   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Вот пример кода, который импортирует из этого файла в таблицу Эксела (только надо разобраться с кодировкой - либо перекодировать на VBA, либо при сохранении в PHP с помощью mb_convert_encoding):
Код:
Dim sFileName As String
Dim iFileNum As Integer
Dim sBuf As String
Dim Fields As String

sFileName = "c:\temp\lastordercache.php-1.txt"
''//Does the file exist?
If Len(Dir$(sFileName)) = 0 Then
    MsgBox ("Cannot find")
End If

iFileNum = FreeFile()
Open sFileName For Input As iFileNum
Do While Not EOF(iFileNum)
    Line Input #iFileNum, Fields

    k = k + 1
    Cells(k, 1) =Fields
Loop
motorway вне форума Ответить с цитированием
Старый 19.02.2012, 21:35   #5
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Попытался проимпортировать, не получилось. Можно прокомментировать строки, а то не совсем понял?
strannick вне форума Ответить с цитированием
Старый 19.02.2012, 22:02   #6
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

А что пишет? Ошибка есть?
В общем, это стандартный код для получения строк из файла.
Сначала определение переменных, потом проверка на наличие файла.
Потом файл открывается для чтения, и из него берутся строки, и в Cells(k,1)=Fields мы выводим это в первый столбец.
motorway вне форума Ответить с цитированием
Старый 20.02.2012, 02:25   #7
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

А просто тупо открыть(записывая макрорекордером)не подходит?
Код:
    Workbooks.OpenText Filename:="D:\КиРпИчИ\%%%Временные\lastordercache.php.txt" _
        , Origin:=-535, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
        TrailingMinusNumbers:=True
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 20.02.2012, 11:01   #8
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
А что пишет? Ошибка есть?
В общем, это стандартный код для получения строк из файла.
Сначала определение переменных, потом проверка на наличие файла.
Потом файл открывается для чтения, и из него берутся строки, и в Cells(k,1)=Fields мы выводим это в первый столбец.
Выскакивает окошечко "Cannot find" а потом ругается на строчку
Open sFileName For Input As iFileNum

Сам файл положил по пути, указанном в макросе C:\Temp
strannick вне форума Ответить с цитированием
Старый 21.02.2012, 14:37   #9
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Проверьте точный путь к файлу, его название.
motorway вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
импорт данных из Excel в Access mr.kot Microsoft Office Access 3 13.11.2011 22:55
Импорт данных из Excel в Excel макросом vnmz Microsoft Office Excel 2 04.03.2011 18:04
Импорт/Экспорт данных Excel на C# МаксимFr Помощь студентам 0 15.09.2010 21:13
импорт данных из access в excel. romale_80 Microsoft Office Access 8 25.03.2010 01:26
Импорт данных в Excel mMAg Microsoft Office Excel 2 20.08.2009 17:50