2016-04-11 3 views
-2

У меня есть проект, где я должен читать из файла excel в C++-программу. Затем я должен использовать эти данные для выполнения вычислений, сортировки, поиска и т. Д. В файле excel имеется около 20 строк информации, которые не нужны для вычислений. после этого имеется около 100 строк необработанных данных, охватывающих несколько столбцов. Мой вопрос состоит в том, как читать первые 20 строк и хранить их, но не использовать их, и как читать остальные 100 строк и столбцов в структуре, чтобы я мог получить доступ к их данным.Прочтите файл excel в C++ с помощью visual studio

+0

Почему люди голосуют за вопрос? Если есть проблема с тем, что я спросил, дайте мне знать. –

+0

Его просто, что это любопытный nooby, который нахмурился. Не беспокойтесь об этом. Также я всегда вижу, что вопросы, о которых идет голосование, проголосовали :( – Auriga

ответ

2

Вы можете преобразовать файл Excel в файл формата csv, который упрощает его. Используйте std::ifstream, чтобы открыть файл, getline, чтобы прочитать каждую разделенную запятыми строку, и strtok, чтобы токенизировать значения.

Или, если у вас есть небольшой и/или фиксированное количество столбцов, вы можете использовать fscanf(file,"%g,%g...",...)

0

Опираясь на предложение Auriga, чтобы преобразовать файл в формат .csv,
вы можете справиться с этой проблемой в следующих шагах :

  1. Если количество строк в листе Excel является неопределенным (может быть больше или меньше, чем 120), просто читать файл, пока EOF не встречается.
  2. Сохраните первые строки 20 в простом массиве String, так как вы не собираетесь делать какие-либо вычисления с этими данными.
  3. Как хорошо сказано Auriga, отметьте и сохраните оставшуюся часть данных в 2D-массиве (или vector< vector<datatype> > для большей динамики, где тип данных является подходящим типом данных для данных).

Теперь вы можете получить доступ к данным и использовать их непосредственно из структуры 2D-данных (Array или Vector).

Cheers!