Прочитайте все файлы в папке, затем поместите каждый файл и его совпадение в новый документ Excel. Возможно ли это с C ++? - PullRequest
1 голос
/ 21 ноября 2011

У меня есть папка, которая содержит 300 разных файлов.Есть 150 .cft файлов и 150 .s01 файлов.Каждый файл .cft имеет соответствующий файл .s01 с тем же именем.Я хотел бы создать программу, которая может читать файлы из папки и помещать каждый файл .cft и соответствующий ему файл .s01 в документ Excel.Мне бы хотелось, чтобы файл .cft находился на первом листе документа, а файл .s01 - на втором листе.Затем я хотел бы, чтобы программа сохранила файл и дала ему имя (---------). Xls.(---------) будет именем файла .cft и .s01, так как они оба одинаковы.

Так что !!!Я написал программу, которая может взять файл .cft и файл .s01, добавить их и поместить в определенный пользователем документ .xls.Однако ... Я не хочу вручную получать имена 150 файлов и должен вводить каждый из них в программу.Я также не хочу, чтобы файлы были размещены на одном листе.

Так !!!!Я не хочу тратить время на попытки написать что-то невозможное, поэтому, прежде чем я потрачу больше времени на это, у меня есть несколько вопросов:

  1. Возможно ли прочитать все файлы впапка и файлы с одинаковыми именами, но с разными типами?

  2. Если это возможно, то можно ли разместить соответствующий файл .cft и .s01 в одном документе Excel, но на разных листах?

  3. Тогда можно ли создать и сохранить этот рабочий лист как (---------). Xls, (-------) - имясоответствующего файла .cft и .s01?

Так что в основном ... я хочу написать этот код, потому что я ленив и не хочу ничего делать вручную> <;;;lol </p>

Пример:

  1. Основная папка содержит 8 файлов:

    dog.cft dog.s01 cat.cft cat.s01 tree.cft tree.s01 bird.cft bird.s01

  2. Программа считывает все файлы в папке и распознает, что dog.cft и dog.s01 идут вместе.

  3. Затем программа создает документ Excel и на рабочем листе 1 размещает dog.cft, а на рабочем листе 2 размещает dog.s01.

  4. Затем программа сохраняет документ Excel как dog.xls

  5. Затем программа перебирает основную папку, повторяя этот процесс для каждого изпары .cft и .s01, пока все 150 пар не будут разделены и сохранены в их собственном документе Excel.

Не знаю, слишком ли я мечтаю об этом, но любой совет очень ценится!

Ответы [ 2 ]

3 голосов
/ 21 ноября 2011

лично я бы сделал это с макросом в Excel, а не в C ++, потому что выполнение функций, связанных с Excel, намного проще.Все требования возможны при использовании VBA в Excel.

2 голосов
/ 21 ноября 2011

Да, это возможно.

Для вывода списка файлов в папке вы можете использовать функции Windows API FindFirstFile и FindNextFile . Когда вы закончите перебирать папку, вам нужно будет вызвать FindClose .

Для создания электронной таблицы Excel и работы с листами рабочей книги вы можете использовать автоматизацию COM. Вот ссылка на статью об этом из C ++ (MFC); в статье объясняется, где найти тот, который не основан на MFC.

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

...