У меня есть проект, где я должен читать из файла excel в C++-программу. Затем я должен использовать эти данные для выполнения вычислений, сортировки, поиска и т. Д. В файле excel имеется около 20 строк информации, которые не нужны для вычислений. после этого имеется около 100 строк необработанных данных, охватывающих несколько столбцов. Мой вопрос состоит в том, как читать первые 20 строк и хранить их, но не использовать их, и как читать остальные 100 строк и столбцов в структуре, чтобы я мог получить доступ к их данным.Прочтите файл excel в C++ с помощью visual studio
-2
A
ответ
2
Вы можете преобразовать файл Excel в файл формата csv, который упрощает его. Используйте std::ifstream
, чтобы открыть файл, getline, чтобы прочитать каждую разделенную запятыми строку, и strtok, чтобы токенизировать значения.
Или, если у вас есть небольшой и/или фиксированное количество столбцов, вы можете использовать fscanf(file,"%g,%g...",...)
0
Опираясь на предложение Auriga, чтобы преобразовать файл в формат .csv
,
вы можете справиться с этой проблемой в следующих шагах :
- Если количество строк в листе Excel является неопределенным (может быть больше или меньше, чем
120
), просто читать файл, покаEOF
не встречается. - Сохраните первые строки
20
в простом массиве String, так как вы не собираетесь делать какие-либо вычисления с этими данными. - Как хорошо сказано Auriga, отметьте и сохраните оставшуюся часть данных в 2D-массиве (или
vector< vector<datatype> >
для большей динамики, где тип данных является подходящим типом данных для данных).
Теперь вы можете получить доступ к данным и использовать их непосредственно из структуры 2D-данных (Array или Vector).
Cheers!
Почему люди голосуют за вопрос? Если есть проблема с тем, что я спросил, дайте мне знать. –
Его просто, что это любопытный nooby, который нахмурился. Не беспокойтесь об этом. Также я всегда вижу, что вопросы, о которых идет голосование, проголосовали :( – Auriga