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

#include <iostream>
#include<fstream>
#include<string>
#include<sstream>
using namespace std;

int main()
{
string name1;
    int i=2;
    int d1=i;
    string name2="c++programming";
    string author_name1="nileshchanglani";
    ofstream myfile;
    myfile.open("my excel.xls");
    for(i=1;i<10;i++)
    myfile<<i<< "\t"<<name2<<"\t"<<author_name1<<endl;

    myfile.close();

  myfile.open("my excel.csv");
  for(i=1;i<10;i++)
{
 myfile<<i<<","<<name2<<","<<author_name1<<endl;
}
  myfile.close();
   ifstream myfile1;
   myfile1.open("my excel.xls");
 int bookid;

 string name,author_name;
  while(myfile1 >> bookid >> name2>> author_name)
  if(bookid==3)
  cout<<bookid<<"     "<<name2<<"       "<<author_name<<endl;
(myfile1>>bookid>>name2>>author_name);
cout<<bookid<<"     "<<name2<<"       "<<author_name<<endl;

}

я пытаюсь преобразовать столбцы из таблицы Excel в переменную id name2 и имя автора и пытаюсь контролировать вывод с помощью номера id, кодирующего runnig нормально, пока в имени автора и имени книги нет пробелов, но это дает мне только 1 вывод записи, если есть пробелы в названии книги и имени автора.

1 ответ

Если вы хотите разобрать Excel, вам лучше будет искать парсеры CVS(Comma Separated Value), например

https://github.com/ben-strasser/fast-cpp-csv-parser

Excel имеет тот же формат. Если вы откроете файл excel в текстовом редакторе, вы увидите данные, разделенные "," или ";".

Другие вопросы по тегам