簡體   English   中英

從C讀取Excel文件

[英]Reading an excel file from C

我用C程序寫入一個excel文件,它對(.xls和.xlsx)都有效

#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);


}

我也嘗試閱讀它,它也起作用:

#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;
}

現在,我正在嘗試使用C程序讀取從計算機(不是從C)創建的excel文件,但是我得到的只是亂碼...對於.xls and .xlsx都沒有意義,所以我決定使用.csv格式有效,但只能讀取Excel工作表的第一行。 請我怎么做?

我已經解決了這個問題, .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;
}

這不可能返回錯誤消息,所以它打印出了我的指示。

感謝您的貢獻。下次,我將確保更好地查看我的代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM