C语言要读取xls/xlsx格式文件比较复杂,可以先把xls/xlsx格式另存为csv格式。
比如文件"i.csv"内容如下:
csv格式采用逗号分隔符,用记事本打开可以看到:
用 fscanf 读取字符串时,注意指定字符串的格式,要用逗号和\n作为分隔符。
(scanf/fscanf等函数指定字符串格式的方法:点击)
代码:
#include <stdio.h>
int main(){
char filename[] = "i.csv";
char table[2][3][40];
FILE* fp = fopen(filename,"r"); // fp指向文件头部
for(int i = 0 ; i < 2 ; i++)
for(int j = 0 ; j < 3 ; j++){
fscanf(fp,"%[^,\n]",table[i][j]); // 读到逗号或\n为止
fgetc(fp); // 读取一个字符(逗号或\n)
}
for(int i = 0 ; i < 2 ; i++){
for(int j = 0 ; j < 3 ; j++)
printf("%-20s",table[i][j]); // -20:左对齐,占20个字符宽度
printf("\n");
}
fclose(fp);
return 0;
}
运行结果: