入力を読み取っている場所から入力ファイル「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++ を使用しています。
ありがとうございました