步骤
- 将Excel文件另存为*.csv文件(是和txt一样,以二进制文本形式存储,它是以都逗号分隔符做个单元格内容的划分),这里要特别注意在另存为时,会有两个关于csv的选项,如果需要在C语言中,读取中文,需要选择 CSV(逗号风格)(*.csv)。CSV UTF-8格式,在C语言中中文会出现乱码。
- 在C语言中使用FILE,读取数据。将表格数据存入数组中。细节见代码注释:
#define maxFactorNumber 128
typedef char Matrix[maxFactorNumber][maxFactorNumber][128];
void readMatrix(char * filePath,Matrix m)
{
FILE *fp = NULL;
char *line,*record;
char buffer[1024];
int x=0,y=0,n=0;
if ((fp=fopen(filePath,"r")) != NULL)
{
char delims[] = ",";
wchar_t *result = NULL;
while (line = fgets(buffer, sizeof(buffer), fp))
{
line[strlen(line)-1]='\0';
record = strtok(line, ",");
while (record)
{
memcpy(m[x][y],record,128);
record = strtok(NULL, ",");
y++;
}
y=0;
x++;
}
fclose(fp);
fp = NULL;
}
}