搜索
bottom↓
回复: 33

移植fatfs怎么建立完善的excel表格

[复制链接]

出0入0汤圆

发表于 2011-7-22 11:09:46 | 显示全部楼层 |阅读模式
大家好:
    我移植了fatfs用来读写SD卡,现在可以见建立一个excel表格,但是写入的数据都在第一个格子内。我想设置格子的颜色、大小、写入不同的数据还需要做哪些工作?有没有实例传上来一份。谢谢

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出95入100汤圆

发表于 2011-7-22 11:18:03 | 显示全部楼层
那你的的安照excel的格式来写数据进去,这个基本是不可能的

出0入0汤圆

发表于 2011-7-22 11:30:34 | 显示全部楼层
你可以用ADO来操作excel。呵呵。不过ado目前只支持Windows吧!

出0入0汤圆

发表于 2011-7-22 11:50:22 | 显示全部楼层
直接存为 txt 文件就可以的了,然后使用“tab” 和 “\r\n” 符号分开  后缀名用“.xls” 就可以了

要不保存为 xml 格式的文件也是可以的 然后倒入 excel文件

出0入0汤圆

发表于 2011-7-22 12:09:31 | 显示全部楼层
支持3楼,另外后缀是csv不是xls

出15入9汤圆

发表于 2011-7-22 12:21:48 | 显示全部楼层
三楼的做法确实可以的。

出0入0汤圆

发表于 2011-7-22 12:27:55 | 显示全部楼层
csv格式的,用excel打开,;另存为xls,
行数不要超过65535

出0入0汤圆

 楼主| 发表于 2011-7-22 13:30:35 | 显示全部楼层
谢谢。我试试

出0入0汤圆

发表于 2011-7-22 13:45:00 | 显示全部楼层
这个方法好,学习了。

出0入0汤圆

发表于 2011-7-25 12:28:14 | 显示全部楼层
MARK、

出0入0汤圆

发表于 2011-7-25 12:52:43 | 显示全部楼层
回复【4楼】dotmonkey  
支持3楼,另外后缀是csv不是xls
-----------------------------------------------------------------------

csv是逗号分割的……

出0入0汤圆

发表于 2011-7-25 18:12:50 | 显示全部楼层
同意

出0入0汤圆

发表于 2011-7-25 21:46:40 | 显示全部楼层
楼主可以直接建立Excel表格吗?能否提示一下?按照3楼得做法可以吗?

出10入12汤圆

发表于 2011-7-25 23:30:36 | 显示全部楼层
mmmm

出0入0汤圆

发表于 2013-10-26 10:14:35 | 显示全部楼层
knight_avr 发表于 2011-7-22 11:50
直接存为 txt 文件就可以的了,然后使用“tab” 和 “\r\n” 符号分开  后缀名用“.xls” 就可以了

要不保 ...

太牛了,太好用了,真是神人啊!谢谢谢谢!!!!

出0入0汤圆

发表于 2013-10-26 12:00:34 来自手机 | 显示全部楼层
erxun 发表于 2011-7-22 12:27
csv格式的,用excel打开,;另存为xls,
行数不要超过65535

你好   这边你是的说csv文件行数不能超过65535么

出0入0汤圆

发表于 2013-11-27 11:04:32 | 显示全部楼层
amiao416 发表于 2013-10-26 10:14
太牛了,太好用了,真是神人啊!谢谢谢谢!!!!

你好,请问,我写sd卡浮点数组,全是乱码,肿么解决?刚开始也使用csv,后来直接txt还是出错。先sprintf,再f_write,  或者直接f_printf 都出错····给个活路吧···

出0入0汤圆

发表于 2013-12-3 22:21:31 | 显示全部楼层
kalo425 发表于 2013-11-27 11:04
你好,请问,我写sd卡浮点数组,全是乱码,肿么解决?刚开始也使用csv,后来直接txt还是出错。先sprintf ...

sprintf(FileName, "20%2d年%2d月%2d日%2d时%2d分%2d秒.xls",
        RTC_DateStructure.RTC_Year,
        RTC_DateStructure.RTC_Month,
        RTC_DateStructure.RTC_Date,
        RTC_TimeStructure.RTC_Hours,
        RTC_TimeStructure.RTC_Minutes,
        RTC_TimeStructure.RTC_Seconds);       
f_open(&fdst,FileName,FA_OPEN_ALWAYS | FA_WRITE);
f_write(&fdst, FileTitleBuffer, sizeof(FileTitleBuffer), &bw);
f_close(&fdst);

f_open(&fdst,FileName,FA_OPEN_ALWAYS | FA_WRITE);
f_lseek(&fdst,fdst.fsize);
f_printf(&fdst, "20%2d年%2d月%2d日%2d时%2d分%2d秒\t%2d\t%3d\t%4d\t%5d\r\n",
                 RTC_DateStructure.RTC_Year,
                 RTC_DateStructure.RTC_Month,
                 RTC_DateStructure.RTC_Date,
                 RTC_TimeStructure.RTC_Hours,
                 RTC_TimeStructure.RTC_Minutes,
                 RTC_TimeStructure.RTC_Seconds,
                 38,
                 381,
                 3812,
                 38123);
f_close(&fdst);

你试一下这个代码,看一下是不是乱码,这个代码在我的工程里面可以用的

出0入0汤圆

发表于 2013-12-3 22:35:55 | 显示全部楼层
printf系列的函数转换浮点数要8字节对齐,不然会出问题。

出0入0汤圆

发表于 2013-12-3 22:41:41 | 显示全部楼层
printf系列的函数转换浮点数要8字节对齐,不然会出问题。

出0入0汤圆

发表于 2013-12-3 23:17:10 | 显示全部楼层
amiao416 发表于 2013-12-3 22:21
sprintf(FileName, "20%2d年%2d月%2d日%2d时%2d分%2d秒.xls",
        RTC_DateStructure.RTC_Year,
        RTC_DateS ...

谢谢·············

出0入0汤圆

发表于 2013-12-3 23:22:43 | 显示全部楼层
knight_avr 发表于 2011-7-22 11:50
直接存为 txt 文件就可以的了,然后使用“tab” 和 “\r\n” 符号分开  后缀名用“.xls” 就可以了

要不保 ...

    替你修正一下。
    是”导入execl文件“,不是”倒入 excel文件“。

出0入0汤圆

发表于 2014-4-28 20:36:47 | 显示全部楼层
太牛了,谢谢!可对速度有没有影响?

出0入0汤圆

发表于 2014-4-28 22:42:12 | 显示全部楼层
我想问问怎么把16位的数据格式化为字符串然后存进去?因为“sprintf”函数的数组是char型的,例如“sprintf((char*)Dis_buffer, "AccY:%6d", getAccY());而“getAccY()”得到的数据是有符号16位的,这样写的话存到SD卡中的数据就会出错?想不到怎样把16为数据存到SD卡中,求助!!

出0入0汤圆

发表于 2014-4-28 22:43:23 | 显示全部楼层
knight_avr 发表于 2011-7-22 11:50
直接存为 txt 文件就可以的了,然后使用“tab” 和 “\r\n” 符号分开  后缀名用“.xls” 就可以了

要不保 ...

你好:
我想问问怎么把16位的数据格式化为字符串然后存进去?因为“sprintf”函数的数组是char型的,例如“sprintf((char*)Dis_buffer, "AccY:%6d", getAccY());而“getAccY()”得到的数据是有符号16位的,这样写的话存到SD卡中的数据就会出错?想不到怎样把16为数据存到SD卡中,求助!!

出0入0汤圆

发表于 2014-4-29 12:31:48 | 显示全部楼层
本帖最后由 knight_avr 于 2014-4-29 12:36 编辑

自己写一个 也是很简单的啊  

int16_t x= getAccY();

先判断X是否小于0,然后转换成绝对值

然后把数据转换成字符串

uint32_t bl_isnegtive = 0;
if (x<0)
{
        x = 0-x;
        bl_isnegtive = 1;
}

uint8_t strings[16];
uint32_t len=0;
for(uint32_t i=0; i<16; i++)
{
     uint8_t strings[ i ] = x%10 + 0x30;
     x /=10;
     len++;
    if (x==0) { break; }
}

然后把string[16]里面len个字节写入就可以了

出0入0汤圆

发表于 2014-4-30 10:39:18 | 显示全部楼层
学习了,不错。

出0入0汤圆

发表于 2014-5-1 21:08:39 | 显示全部楼层
逗号的用过,不知道怎么弄XML和XLS

出0入0汤圆

发表于 2014-6-25 15:25:33 | 显示全部楼层
怎么写颜色.搞定了没??

出0入0汤圆

发表于 2014-6-27 02:05:58 | 显示全部楼层
在WINDOWS上用MFC就好搞了:

如何使用 MFC 嵌入并自动化 Microsoft Excel 工作表
http://support.microsoft.com/kb/184663/zh-cn

出0入0汤圆

发表于 2014-8-22 16:55:25 | 显示全部楼层
谢谢,正在找这方面的资料!

出0入0汤圆

发表于 2014-11-7 10:37:16 | 显示全部楼层
正在研究Qt操作excel,要跨平台,觉得还是用xml方式比较好,可以设置样式风格,表格可以做得很复杂。之前走了很多弯路啊,xml只要按照格式写字符就行了

出0入0汤圆

发表于 2015-7-23 14:28:56 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2020-7-3 09:27:51 | 显示全部楼层
请问fatfs/mcu下能一个csv下建好几个表格吗?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 20:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表