我使用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工作表的第一行。请问我该如何解决这个问题?
答案 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;
}
这不会返回错误信息,所以它打印出我指示的内容。
感谢您的贡献。我将确保下次更好地查看我的代码