硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3014|回复: 17
收起左侧

[其它] 单片机读写excel文件,怎么操作?

  [复制链接]

354

主题

2171

回帖

3238

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3238
发表于 2022-9-14 11:21:26 | 显示全部楼层 |阅读模式
希望单片机可以读写创建u盘上的xls文件
哪里有xls文件格式的说明?
这种文件格式有专利限制吗?
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2022-9-14 12:03:20 | 显示全部楼层
还没学怎么操作,接触的产品应用是.csv格式。不同开发平台有开源的生态圈和版权习惯,沿用当下csv格式文件不行吗?
回复

使用道具 举报

354

主题

2171

回帖

3238

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3238
 楼主| 发表于 2022-9-14 15:55:14 | 显示全部楼层
廷润 发表于 2022-9-14 12:03
还没学怎么操作,接触的产品应用是.csv格式。不同开发平台有开源的生态圈和版权习惯,沿用当下csv格式文件 ...

csv就是文本格式的啊,那个没有什么特别的。。。
xls可以包含字体、颜色、表格框,甚至计算公式什么的。
回复

使用道具 举报

0

主题

82

回帖

82

积分

初级会员

积分
82
发表于 2022-9-14 16:20:13 | 显示全部楼层
caicaptain2 发表于 2022-9-14 15:55
csv就是文本格式的啊,那个没有什么特别的。。。
xls可以包含字体、颜色、表格框,甚至计算公式什么的。

我认为MCU能处理csv格式的读写就差不多了
要处理字体颜色之类的,就要上操作系统了,要不你就得造轮子
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2022-9-15 08:56:23 | 显示全部楼层
cowen 发表于 2022-9-14 16:20
我认为MCU能处理csv格式的读写就差不多了
要处理字体颜色之类的,就要上操作系统了,要不你就得造轮子

我的理解一样。
之前看一些有规模的制造公司,他们xls都是用宏(VB)变成做表格数据自动化处理与加工。
设想一下:单片机可以合理分类写csv文件,然后配合PC系统平台(上位机软件之类)一键提取数据,并形成有技术含量的报表(日报、周报、月报)。
Releasing your creativity
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2022-9-15 09:11:03 | 显示全部楼层
要移植个xls的C库。

https://github.com/jmcnamara/libxlsxwriter
回复

使用道具 举报

354

主题

2171

回帖

3238

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3238
 楼主| 发表于 2022-9-15 09:37:46 | 显示全部楼层
eric2013 发表于 2022-9-15 09:11
要移植个xls的C库。

https://github.com/jmcnamara/libxlsxwriter

看起来非常棒!
感谢!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2022-9-15 10:52:18 | 显示全部楼层
caicaptain2 发表于 2022-9-15 09:37
看起来非常棒!
感谢!

移植到单片机上要花点精力。
回复

使用道具 举报

218

主题

1106

回帖

1770

积分

至尊会员

More we do, more we can do.

积分
1770
发表于 2022-9-15 12:57:49 | 显示全部楼层
回复

使用道具 举报

58

主题

267

回帖

446

积分

高级会员

积分
446
发表于 2022-9-15 21:11:56 | 显示全部楼层
还不如移植一个 lua,然后使用 luacom 来操作 excel
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2022-9-16 17:04:03 | 显示全部楼层
ihavedone 发表于 2022-9-15 21:11
还不如移植一个 lua,然后使用 luacom 来操作 excel

lua还有这个功能,我得试试。
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
发表于 2024-11-1 13:19:19 | 显示全部楼层
caicaptain2 发表于 2022-9-15 09:37
看起来非常棒!
感谢!

libxlswriter这个库只是实现的是excel文件的一次性写入,不支持追加写入。
另外,这个库需要同步集成zlib库,大容量的STM32,例如H7系列还是有希望可以移植进去的。
回复

使用道具 举报

6

主题

268

回帖

286

积分

高级会员

积分
286
发表于 2024-11-1 15:16:47 | 显示全部楼层
这个没必要,不上LINUX读写EXCEL没啥意义,你换个思路搞吧。
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
发表于 2024-11-1 15:53:51 | 显示全部楼层
fxyc87 发表于 2024-11-1 15:16
这个没必要,不上LINUX读写EXCEL没啥意义,你换个思路搞吧。

libxlswriter需要minizip库,然后minizip库又是依赖zlib库。现在已经在VScode里面做了一些裁切,已经可以运行了。
本来想把vscode的工程发上来,无奈论坛限制了文件的体积。后面有时间我准备尝试在stm32H7上面试试看。
最近在stm32H723上面移植了sqlite,所以对于excel的需求也不会很迫切。stm32H7上面运行sqlite,简单用定时器测过,向表格中插入5个字符类型的数据,所需要的时间大约20ms左右。
回复

使用道具 举报

4

主题

179

回帖

191

积分

初级会员

积分
191
发表于 2024-11-2 22:21:02 | 显示全部楼层
yanteng328 发表于 2024-11-1 15:53
libxlswriter需要minizip库,然后minizip库又是依赖zlib库。现在已经在VScode里面做了一些裁切,已经可以 ...

stm32h7 移植sqlite的工程可以分享吗
回复

使用道具 举报

1

主题

125

回帖

133

积分

初级会员

积分
133
发表于 2024-11-3 16:09:32 | 显示全部楼层
20241103160648.png 换成pdf文件呢,现在我用单片机生成100页pdf没问题
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
发表于 2024-11-4 10:20:24 | 显示全部楼层
浴火重生 发表于 2024-11-2 22:21
stm32h7 移植sqlite的工程可以分享吗

参照:
https://github.com/luismeruje/SQLite-STM32
这个基于片内flash和little fs实现的文件系统接口,如果要换其他文件系统,可以照猫画虎自己重写接口。
参照:
https://www.sqlite.org/vfs.html
另外,sqlite对于MCU来说还是太大了,如果FLASH不足1M的就不要尝试了,另外RAM也是一个问题,如果仅简单写入数据不做查询等操作,大概48K就够了,如果要做大量数据查询的,建议片外外扩,512K起步。
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
发表于 2024-11-4 10:36:34 | 显示全部楼层
话说回来,已经在STM32H7上面把libxlsxwriter移植成功了,先说结论:
可以使用,但是比较耗费HEAP空间,我这边开了0x30000的HEAP空间,最终可以按照官方例程的方式,生成1000行50列的excel表格。
由于libxlsxwriter依赖MINZIP,MINZIP又依赖ZLIB,ZLIB中配置:
MAX_WBITS 12;MAX_MEM_LEVEL 8;这样运行ZLIB过程中,大约占用80K HEAP空间;
MINIZIP配置:
Z_BUFSIZE (8*1024);这样运行MINIZIP过程中,单个ZIP文件实例占用10K左右HEAP空间。
测试代码,采用Constant Memory Mode具体见:
https://libxlsxwriter.github.io/working_with_memory.html
生成一个1000X50的表格,表格中的数据调用IAR获取HEAP剩余空间的函数。
1.png
生成表格的内容:
2.png
IAR中,代码编译的结果:
3.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-10 04:51 , Processed in 0.335858 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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