C语言处理excel
思路来源:https://blog.csdn.net/hongzhen91/article/details/57422897
目录
- 1 写
- 2 读
- 先看 代码!
- 结果分析可知
1 写
.csv 是 excel 后缀,跳跃间隔符是 ‘,’
FILE *fp ;fp = fopen("./test.csv","w") ; // 写 for (i=0 ; i<4 ; i++)fprintf(fp,"%c,%d,%d\n", chy[i], data[i], d2) ;fclose(fp);
2 读
指定位置读数,如倒序读数,从末尾向前 ( 向着开头 ) 读数!
先看 代码!
倒序读 最后一行的数据
#include<bits/stdc++.h>
#define num 20
using namespace std;void writeExcel()
{char chy[4]={ 'x' ,'a' ,'h','w' }, ch, t;int data[4]={ 1 , 3 , 6 ,9 }, d1 = -1, d2 = 5;int i ;FILE *fp ;fp = fopen("./test.csv","w") ; // 写 for (i=0 ; i<4 ; i++)fprintf(fp,"%c,%d,%d\n", chy[i], data[i], 5) ;fclose(fp);cout << "读:" << endl; fp = fopen("./test.csv","r") ; // 读 cout << "d1 = " << d1 << endl;cout << "ftell(fp) = " << ftell(fp) << endl;fseek(fp, 0L, 2); // 末尾 cout << "ftell(fp) = " << ftell(fp) << endl << endl;fseek(fp, -3L, 1); // 向前移动 3L cout << "ftell(fp) = " << ftell(fp) << endl;fscanf(fp, "%d", &d1); // 5cout << d1 << endl;cout << "ftell(fp) = " << ftell(fp) << endl << endl;fseek(fp, -3L, 1);cout << "ftell(fp) = " << ftell(fp) << endl;fscanf(fp, "%d", &d1); // 9cout << d1 << endl;cout << "ftell(fp) = " << ftell(fp) << endl<< endl;fscanf(fp, "%c", &ch); // 9后面的',' cout << ch << endl;cout << "ftell(fp) = " << ftell(fp) << endl<< endl;fseek(fp, -4L, 1);cout << "ftell(fp) = " << ftell(fp) << endl;fscanf(fp, "%c", &ch); // w cout << ch << endl;cout << "ftell(fp) = " << ftell(fp) << endl<< endl;fclose(fp);
}int main()
{ writeExcel() ; system("pause"); return 0;
}
结果分析可知
首先数据是:%c + ‘,’ + %d + ‘\n’ …
1
字节数总共 29(0 ~ 28),可见数据一共 4 行,每行字节数是 7 第 1 行,0 ~ 6 第 2 行,7 ~ 13 第 3 行,14 ~ 20 第 4 行,21 ~ 27 第 5 行,28 是文本结尾 feof(fp) |
---|
2 |
%c ‘,’ %d ‘\n’ 所占字节都是 1L |
字符 |
:– |
指针位置 |
3 |
顺序读数据 |
很容易忘了加上 & |
fscanf(fp, "%c,%d,%d\n", &ch, &d1, &d2);
逆序读
读完一个数,跳了 1L,再向前跳 3L 才是前一个数
fscanf(fp, "%d\n", &d2);
fseek(fp, -3L, 1);//从当前位置 向着开头的方向移动3L字节
fscanf(fp, "%d\n", &d2);
4
csv 文本结尾是 另开辟一行!
当从头读 或 遍历 数据时,会遍历到最后的 “空行”,具体情况要注意代码细节的不同
C语言处理excel相关推荐
- R语言 、Excel哪个更能胜任数据分析?
我从事数据分析工作已经有十年之久.最初是出于工作需要,我的经理丢给我一堆数据,我需要处理这些数据.当时我一直使用的工具是 Excel,因为这是我熟练掌握的一款工具. 三年前,我开始接触到 R,一开始因 ...
- R语言读取excel文件实战(read.xlsx函数、read_excel函数、read.xlsx函数、Write函数)
R语言读取excel文件实战(read.xlsx函数.read_excel函数.read.xlsx函数.Write函数) 目录 R语言读取excel文件实战(read.xlsx函数.read_exce ...
- R语言操作excel文件的数据
简述 令人惊讶的是,网上的教程关于r语言处理excel数据的都是在说如何读.. 下面以用xlsx这个包为例 安装这个包,并读取数据 [两行命令]R语言读取excel数据 操作数据 其实,导入进来之后, ...
- python语言处理excel_Python语言操作excel
本文主要向大家介绍了Python语言操作excel,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. #!/usr/bin/env python#coding: utf-8impor ...
- c语言从excal读取字符串,C语言操作EXCEL文件(读写)
C语言操作EXCEL文件(读写) 本文主要介绍通过纯C语言进行EXCEL的读写操作:(修改时间2018.08.28,如果运行结果均是0,请看文章最后一节) C语言读操作 C语言写操作 在之前需要使用C ...
- 小技巧:如何在R语言与excel/word之间进行复制粘贴
原创 康哥 勤用统计 问 R语言中能进行类似电脑中control+C/control+V的操作吗?现实数据处理过程中,经常需要进行R语言与Excel/word等文件的数据传输."笨方法&qu ...
- C语言操作Excel文件
一.前言 xlsxio是一个用用于读写 .xlsx 文件的 C 库,其github地址如下: https://github.com/brechtsanders/xlsxio 该库的编写考虑了以下目标: ...
- c语言编写excel程序,基于C语言的Excel核价程序的设计与实现
Excel是财务工作的常用工具,但是对于复杂的函数操作,对于一些不熟悉计算机编程知识的财务人员是一件比较头疼的事情.笔者结合C语言对Excel文件的OLE操作函数,开发出的应用程序简单易用,解决了财务 ...
- R语言 从excel导入数据,由于内容有excel的换行符导致列数不一致的问题
R语言 从excel导入数据,由于内容有excel的换行符导致列数不一致的问题 问题描述 解决办法 1. 在excel中先通过trim和clean函数进行预处理 2. 读入数据 简单的方法是,将清理后 ...
- c语言创建excel文件6,怎么利用c语言创建excel文件
怎么利用c语言创建excel文件 想要利用c语言创建excel文件再把它导入excel其实很简单,如果数据简单的话,可以使用CSV(逗号分隔值)格式的文件.CSV格式的文件可以用OfficeExcel ...
最新文章
- 如果你不曾失败,只因你从未尝试
- Python实现全民K歌歌曲下载
- dmesg与printk命令
- python中的与或非_「Python基础」 While 循环语句
- 国科大prml--SVM
- C语言extern与static修饰变量
- 潭州课堂25班:Ph201805201 爬虫高级 第三课 sclapy 框架 腾讯 招聘案例 (课堂笔记)...
- 微课|玩转Python轻松过二级(3.1节):列表推导式与切片
- Halcon——点胶机胶水路径应用(1)
- html前端通过canvas生成验证码
- 使用cmd命令 ping网段内的使用的IP并输出到文件
- Atitit json数据查询法 jsonpath 目录 1.1. 1.概述	1 1.2. 3.2。经营者特殊符号	1 1.3. # JSONPath expressions	2 1.4. Xpa
- 2021-08-06MATLAB深度学习简单应用
- 欧姆龙485通讯示例程序_【精品实验】PLC学习神器与温湿度变送器的通讯
- 没想到,拼多多竟然想用AI种草莓给我吃
- c语言保龄球计分程序,保龄球规则-保龄球比赛计分方法是怎样的? 爱问知识人...
- 2021年全球圆锥破碎机收入大约1357.4百万美元,预计2028年达到1665.6百万美元
- matlab常用的设置,坐标系、线条颜色、线型,字体、属性
- ISO 26262系列文章之————5 硬件开发
- html 设置元素向左浮动
热门文章
- c3p0详细配置(c3p0-config.xml)及使用
- ubuntu 12.04安装截图功能的软件 gimp
- prop和attr的区别-jQuery
- 算法刷题系列(四)蓝桥杯python算法训练3(下)
- 计算机管理无法格式化硬盘,无法选择或格式化硬盘分区 - Windows Server | Microsoft Docs...
- BetaFlight模块设计之二十:CMS菜单模块分析
- 两片74161实现60进制_如何用两片74160来接一个60进制的计数器
- 【iMX6Q】--- imx6q 移植 Ubuntu桌面
- 如何在谷歌地图上绘制矢量道路线并导出为图片
- 圆弧点计算方式-c++代码