C++ C++;-将结果输出到xlsx(电子表格)而不是CSV

C++ C++;-将结果输出到xlsx(电子表格)而不是CSV,c++,excel,csv,C++,Excel,Csv,我有一个程序,可以从“in.txt”文件中读取和复制文本,并将结果输出到“out.csv”中 当我尝试将结果输出到“out.xlsx”时,它会创建文件,但文件不会打开。它说电子表格被破坏了。我如何编写它,以便它在电子表格中输出结果 我的“in.text”文件只包含一行字符串,这是一个人的名字,例如Ben 这是我的节目: #include "stdafx.h" #include <iostream> #include <fstream> using namespace s

我有一个程序,可以从“in.txt”文件中读取和复制文本,并将结果输出到“out.csv”中

当我尝试将结果输出到“out.xlsx”时,它会创建文件,但文件不会打开。它说电子表格被破坏了。我如何编写它,以便它在电子表格中输出结果

我的“in.text”文件只包含一行字符串,这是一个人的名字,例如Ben

这是我的节目:

#include "stdafx.h"

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

int main(void)
{
    char inputFilename[] = "C:\\ABC\\ZXY\\in.txt";
    char outputFilename[] = "out.csv";    //change this to "out.xlsx"
    ifstream inFile;
    ofstream outFile;
    char username;  


    inFile.open(inputFilename, ios::in);
    if (!inFile) {
        cerr << "Can't open input file " << inputFilename << endl;
        exit(1);
    }

    outFile.open(outputFilename, ios::out);
    if (!outFile) {
        cerr << "Can't open output file " << outputFilename << endl;
        exit(1);
    }


    while (inFile >> username) {
        outFile << username++ << endl;
    }


    inFile.close();
    outFile.close();

    return 0;
}
#包括“stdafx.h”
#包括
#包括
使用名称空间std;
内部主(空)
{
char inputFilename[]=“C:\\ABC\\ZXY\\in.txt”;
char outputFilename[]=“out.csv”;//将其更改为“out.xlsx”
河流充填;
出流孔的直径;
字符用户名;
open(inputFilename,ios::in);
如果(!infle){

cerrxlsx文件是一个相当复杂的野兽——与CSV文件完全不同至少在理论上,你可以根据标准自己创建一个,但这是一个非常大的标准——仅第一卷就有5000多页,这只是四卷中的第一卷。更糟糕的是,尽管我没有试图确定它是否适用于标准的当前版本,但有人抱怨说,尽管它的规模很大,但标准现在还不完整

可用的选择包括:

  • 创建一个CSV文件并完成它
  • 使用一些外部库来创建xlsx文件
  • 花相当长的时间自己创建一个xlsx文件
  • 当我说“相当长的一段时间”时,我的意思可能是至少几周,这是假设您想要生成基本上仍然等同于csv文件的东西——即,只包含数据的东西——并且假设您仍然会对某些部分使用外部库


    我可能还应该补充一点:xlsx文件实际上是一个zip文件。创建简单文件的最简单方法可能是将现有的.xlsx文件重命名为.zip,然后查看(并模仿)它的内容。

    我建议使用现有的库,例如

    csv有什么问题吗?请注意,Excel实际上会打开扩展名为
    .xls
    的纯文本文件。我已经忘记了它是否识别TSV和/或csv,但至少其中一个有效。当然,将这些文件保存为
    .xls
    而不是biolo是很糟糕的GIST会这样做…:-[@KonradRudolph:我不知道确切的原因,但不知怎么的,这让我有点害怕。有很多关于Excel和生物学家的可怕故事……例如,你知道有一个叫做“OCT4”的基因吗?好吧,Excel无声地将其改为“Oct-04”“是的,”康拉德-鲁道夫:我用Excel碰到了一些类似的事情。更糟的是,它实际上改变了它的内部表示,所以在很多情况下,基本上不可能恢复原始数据。谢谢。我想知道是否有C++代码显示如何使用SimeXLsxScript来创建一个扩展程序。