打开不同的excel表格,并使用c++编写

open different sheets of excel and write to it using c++

本文关键字:c++ 编写 表格 excel      更新时间:2023-10-16

我有一个输入文件"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

现在我正在处理这个文件,如果第二个字符是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;
}

我有两个查询:

1。我正在将值作为文本插入excel中(例如,"|P|line|number|2"作为文本插入到Pout.xls中),并且我正在手动执行文本到列,是否有任何方法可以使用c++自动执行此操作。

。, |P|line|number|2将以:-的形式插入空格在第一列,P在第二列,line在第三列,number在第四列,2在第五列。

我的第二个查询:-我正在编写两个不同的文件Iout.xls和Pout.xls,然后在两个文件中从文本转换为列之后,我将两个文件复制到单个文件FinalOut.xls中,其中包含Iout.xls和Pout.xls的数据的两个不同的表Iout和Pout。如何使用c++打开excel文件的不同工作表,并将相应的数据直接写入工作表?

。, sheet1将被淘汰

我使用devc++编写代码。

谢谢

Excel能够导入基于html的文件-查看官方文档http://msdn.microsoft.com/en-us/library/Aa155477%28office.10%29.aspx

由于HTML是"基于文本的",你应该能够很容易地编写…

另一个选择是使用CSV(也是基于文本的),Excel可以理解,但CSV不支持不同的工作表。

XLS是由Microsoft定义的二进制文件格式,它相当复杂…一个选择是像LibXL这样的商业库——它可以读写"真正的Excel格式(XLS等)",包括对不同表格等的支持。