从C读取excel文件

时间:2017-03-24 18:31:19

标签: c excel

我使用C程序写入excel文件,它适用于两者(.xls& .xlsx)

sentence = "The world is too big"
sentence = list(filter(lambda x: x != 'too', sentence.split()))
print(sentence)

我也尝试从中读取它也有效:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char const *argv[])
{
    FILE * fpointer;
    fpointer = fopen ("cfile.xls","w");

    fprintf(fpointer, "Name \t MIT 801\t MIT 802\t MIT 803\t MIT 805\t MIT 821 \n Haphyz\t 90\t 89\t 99\t 95\t 96\n");

    fclose(fpointer);


}

现在我尝试使用C程序来读取从计算机创建的excel文件(而不是来自C),但我得到的只是胡言乱语......对于#include <stdio.h> #include <stdlib.h> int main(int argc, char const *argv[]) { FILE * fpointer; fpointer = fopen ("cfile.txt","r"); char Creader[200]; while (!feof(fpointer)){ fgets (Creader,200,fpointer); puts (Creader); } fclose(fpointer); return 0; } 而言我都没有意义决定使用有效的.xls and .xlsx格式,但只能读取Excel工作表的第一行。请问我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,.csv格式可以解决我的代码问题。我在循环内关闭了文件,所以程序在第一行后停止读取。

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char const *argv[])
{

    FILE * fpointer;    
    fpointer = fopen("Book1.csv","r");
    char spreadSheet[200];

    while(!feof(fpointer)){
    fgets(spreadSheet,200,fpointer);
    fprintf(stderr, "%s\n", spreadSheet); 

    fclose(fpointer);

    }


    return 0;
}

这不会返回错误信息,所以它打印出我指示的内容。

感谢您的贡献。我将确保下次更好地查看我的代码

相关问题