|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.03.2009, 11:57 | #1 |
Форумчанин
Регистрация: 24.06.2008
Сообщений: 516
|
Бинарный файл
Как перенести данные из произвольного бинарного файла в Excel? Структура файла известна. Вообще это можно сделать ?
Можно сделать все! Было бы время, да деньги...
|
05.03.2009, 12:05 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
конкретный вопрос, конкретный ответ: открыть для чтения и читать...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
05.03.2009, 12:08 | #3 |
Форумчанин
Регистрация: 24.06.2008
Сообщений: 516
|
Конкретный вопрос
Описание файла:
Первые 5 байт: STRES 1 байт: номер версии (unsigned char) 1 байт: число байт в имени файла со структурой базы данных - N (unsigned char) N байт: имя файла со структурой базы данных (без расширения) (N char) (например: Base2009) ...... Далее идет описание строковых полей, полей данных и т.д. Как мне такого типа информацию считать в Excel?
Можно сделать все! Было бы время, да деньги...
|
05.03.2009, 12:11 | #4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Прикрепите к сообщению: 1) бинарный файл 2) Книгу Excel с образцом того, что должно получиться после чтения данных из бинарного файла. |
|
05.03.2009, 12:15 | #5 |
Форумчанин
Регистрация: 24.06.2008
Сообщений: 516
|
Вот пример файла. Структура листа Excel любая.
Можно сделать все! Было бы время, да деньги...
|
05.03.2009, 12:53 | #6 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Пример макроса:
Код:
|
05.03.2009, 15:38 | #7 |
Форумчанин
Регистрация: 24.06.2008
Сообщений: 516
|
Спасибо! Ничего не понял но буду разбираться.
Можно сделать все! Было бы время, да деньги...
|
05.03.2009, 15:47 | #8 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Я тоже ничего не понял, но ведь работает... Принцип действия таков: Set ts = fso.OpenTextFile(Filename, 1, False) ' открываем файл для чтения fl = ts.ReadLine ' читаем первую строчку Анализируем первую строку "бинарного" файла: НомерВерсии = Asc(Mid(fl, 6, 1)) ' 6-й символ первой строки n = Asc(Mid(fl, 7, 1)) ' длина имени файла в 7-м символе первой строки ' берем символы в количестве N штук, начиная с 8-го: If n > 0 Then ИмяФайлаСоСтруктурой = Mid(fl, 8, n) Итого: Номер Версии и Имя Файла Со Структурой мы выяснили. Далее всё просто - читаем в массив ARR все остальные строки до конца файла: While Not ts.AtEndOfStream i = i + 1: arr(i, 1) = ts.ReadLine Wend Закрываем текстовый файл: ts.Close Выводим считанные строки на лист Excel, начиная с ячейки A1: [a1].Resize(i) = arr |
|
05.03.2009, 18:22 | #9 |
Форумчанин
Регистрация: 24.06.2008
Сообщений: 516
|
Спасибо! Разобрался.
Но после текстовых полей у меня идет дополнительная информация. Я так понял, что длинна строки ограничена символом "перевода каретки" (13 и 10). Есть ли функции поиска? Например последнего символа "перевода каретки"? Или комбинации символов?
Можно сделать все! Было бы время, да деньги...
|
05.03.2009, 18:42 | #10 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Цитата:
и работать с ним. А в Excel этих функций (типа поиска) уже предостаточно. И изобретать ничего не придётся... Например, так: Код:
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Чистый бинарный код | НикСерг | Общие вопросы C/C++ | 16 | 09.11.2009 15:06 |
Бинарный файл | Bayazet | Общие вопросы Delphi | 1 | 04.03.2009 16:39 |
Нужен совет(бинарный поиск в 2-d массиве) | sergey31 | Помощь студентам | 2 | 27.04.2008 13:49 |
Бинарный поиск в 1мерном массиве, ошибка в программе из книги | ILDAR@GIZmo | Помощь студентам | 4 | 02.12.2007 22:22 |
Бинарный поиск | Gendalf | Помощь студентам | 1 | 07.07.2007 22:09 |