2

入力を読み取っている場所から入力ファイル「inputfile.txt」があります。

inputfile.txt は:-

|I|line|number|1

|P|line|number|2

|I|line|number|3

|P|line|number|4

|I|line|number|5

|P|line|number|6

現在、2番目の文字がIの場合は「Iout.xls」に書き込み、「P」の場合は「Pout.xls」に書き込むという条件に従って、このファイルを処理しています。

Iout.xls :-

|I|line|number|1

|I|line|number|3

|I|line|number|5

Pout.xls:-

|P|line|number|2

|P|line|number|4

|P|line|number|6

どちらもパイプで区切られたExcelファイルです。

これが私のコードです。

#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
int main() {
 ifstream in;
 ofstream Iout,Pout;
 string str;
 string::iterator it;
 in.open("inputfile.txt");
 Iout.open("Iout.xls",fstream::app);
 Pout.open("Pout.xls",fstream::app);
 if(in.is_open()){
  while(in.good()) {
   getline(in,str);
   it=str.begin()+1;
   if(*(it)=='I')
     Iout<<str<<endl;
   if(*(it)=='P')
     Pout<<str<<endl;
  }
 }
 else cout<<"can't open file";
 Iout.close();
 Pout.close();
 in.close();
 return 0;
}

2 つのクエリがあります:-

1. 値をテキストとして Excel に挿入しています (たとえば、"|P|line|number|2" がテキストとして Pout.xls に挿入されています)。そこでテキストを列に手動で挿入しています。方法はありますか? c++ を使用してこれを自動化します。

つまり、|P|line|number|2 は次のように挿入されます:- 1 列目にスペース、2 列目に P、3 列目に行、4 列目に数字、5 列目に 2。

私の 2 番目のクエリ:- 2 つの異なるファイル Iout.xls と Pout.xls を書き込んでおり、両方のファイルでテキストから列に変換した後、両方のファイルを 2 つの異なるシート Iout と Pout を含む単一のファイル FinalOut.xls にコピーします。 Iout.xls と Pout.xls のデータ。C ++でExcelファイルの異なるシートを開き、対応するデータをシートに直接書き込むにはどうすればよいですか。

つまり、sheet1 は Iout になり、sheet2 は Pout になります。

コードに devc++ を使用しています。

ありがとうございました

4

1 に答える 1