C 语言操作 EXCEL 文件之写操作的步骤及注意事项

1.使用C语言对EXCEL文件的写入操作

步骤1:用C语言可以写入Excel文件的文件只有*.csv后缀的文件(与txt一样以二进制文本形式存储,单元格内容以逗号分隔符划分,.xls存储比较复杂,.csv文件可以另存为.xls或者.xlsx文件,选择.csv文件格式),都可以通过++等记事本软件以txt文件形式打开。

需要注意的是,在写入或者读取*.xls文件后,打开Excel文件时会弹出格式兼容提示窗口,由于C语言操作Excel文件是作为文本文件打开的,所以会忽略原有的格式,但不会影响,直接点击“是(Y)”即可。

第二步:处理表格,用C语言打开表格后,文件指针指向整个表格的第一行第一列。

如果要将数据写入同一行(第1行,第2列)的下一个单元格,请使用“\t”;

如果要将数据写入同一列(第 2 行、第 1 列)的下一个单元格,请使用“\n”。

具体代码如下:

结果如下:

c语言文件读写操作代码_编写程序实现文件的读写_c语言读取文件代码

c语言文件读写操作代码_编写程序实现文件的读写_c语言读取文件代码

2.EXCEL文件读取操作的C语言实现

读取文件

编写程序实现文件的读写_c语言文件读写操作代码_c语言读取文件代码

c语言读取文件代码_编写程序实现文件的读写_c语言文件读写操作代码

对于读取Excel文件的操作,采用文件随机定位函数fseek(),其通用调用格式如下:

fseek(文件指针,位移,起始位置);

**fseek()** 参数说明:

移位

:指重定位时的字节偏移数,表示相对于基址的字符数,通常为长整数,可以是整型常量、整型表达式等。若使用整型常量,则需在其后添加字母“L”;若使用整型表达式,则需要使用“(long)()”强制转换为长整数。

初始点

指重定位时的参考点,即基地址,以整数或常数表示。如下表所示:

c语言文件读写操作代码_编写程序实现文件的读写_c语言读取文件代码

例如:

fseek(fp,10L,0);

具体代码如下:

运算结果

c语言读取文件代码_c语言文件读写操作代码_编写程序实现文件的读写

如果发现读取的数据全为0或者读取的数据顺序不正确,请参考fseek()函数的参数使用方法。

另外,以上是在 中进行的,如果你使用 VS 等版本软件也出现闪退问题,则是软件本身的 Bug 导致的,可以在 main() 函数最后添加“("pause"); 或者 ();” 来解决。对应的 VS Excel 读取示例如下:

c语言文件读写操作代码_c语言读取文件代码_编写程序实现文件的读写

读取此Excel文件的代码如下:

VS如下:

编写程序实现文件的读写_c语言读取文件代码_c语言文件读写操作代码

运行结果:

编写程序实现文件的读写_c语言读取文件代码_c语言文件读写操作代码

3. 添加

朋友告诉我结果为0,并把他们的项目发给我,我尝试运行,发现确实是0.0,程序也没有报错。

然后我尝试打开他们发给我的excel文件或csv文件,发现文件损坏了。如果我点击“是”,文件仍然可以打开。这可能是因为文件格式损坏了,所以程序无法计算数据的位置。我干脆把他们的excel文件另存为另一个excel文件,就可以成功运行了。他们的excel问题如下图所示。

编写程序实现文件的读写_c语言读取文件代码_c语言文件读写操作代码

即使损坏后仍可打开。

四、结论

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源码时代网

打赏一下可以使我更加卖力的分享

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值