| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 595 人关注过本帖
标题:实现20*20=400个表格,请各位指教~!
只看楼主 加入收藏
rainday008hyh
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-1
收藏
 问题点数:0 回复次数:4 
实现20*20=400个表格,请各位指教~!
      想做一个类似Excel的表格实现20*20=400个表格,考虑基于 对话框 来画编辑框当作一个表格,发现要处理和函数需要400多个,好像有点不可取,有没有更好的办法或者Excel控件? 请各位指教~!
搜索更多相关主题的帖子: 表格 指教 Excel 对话框 函数 
2006-06-10 16:22
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
网上去搜索一下,有这方面的控件!

天行健,君子以自强不息!!QQ:68660681
2006-06-11 12:26
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
比较简单的是用CListCtrl作成表格,或者在网上找个grid control来作。

http://myajax95./
2006-06-11 23:42
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 

直接读取Excel文件数据

作者/weigf

摘自www.vckbase.com

前言
由于种种需要直接进行读取Excel文件数据,然而在网上Search多次也没有找到好的方法,
一般就通过ODBCOLE方式进行读取,但这两种方法都具有局限性...(我相信大家都很清楚)。
怎么办呢?没办法了,只好选择最艰难的路了--分析Excel文件格式。
介绍
MS Excel是众所周知的电子表格处理软件。Excel文件格式是特定的BIFF(Binary Interchange File Format)BIFF里存储了很多记录,第条记录包括记录头和记录体。记录头是4byte,前两位指定记录类型的代码(opcode),后两位指定记录长度;记录体是存储该记录的实际数据。
比如:

BOF record

| Record Header | Record Body |

Byte | 0 1 2 3 | 0 1 2 3 |

-----------------------------------------

Contents | 09 | 00 | 04 | 00 | 02 | 00 | 10 | 00 |

-----------------------------------------

| opcode | length | version | file |

| | | number | type |

记录头:

opcode: 09h is BOF;

length: 04h record body is 4 bytes long;

记录体:

version number:02h is version number (2 for the initial version of Excel)

file type:10h is a worksheet file;

具体可参考MS Excel File Format

描述
以下是对本文程序简单描述。

第一步:打开文件

CFile f;

CFileException e;

// 打开文件

if (!f.Open("D:\\Book1.xls", CFile::modeRead, &e))

{

TCHAR szError[1024];

e.GetErrorMessage(szError, 1024);

AfxMessageBox(szError);

return;

}


我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-06-12 17:48
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 

第二步:读取版本号

// 读取版本

while (dwPos < dwLen)

{

nRead = f.Read((void*)&RecNo, 2);

if (RecNo == XL_BOF)

{

WORD Ver, Type;

f.Read((void*)&RecLen, 2);

f.Read((void*)&Ver, 2);

f.Read((void*)&Type, 2);

f.Seek(RecLen, CFile::current);

int ver = 0;

switch (Ver)

{

case BIFF7:

ver = 7;

break;

case BIFF8:

ver = 8;

AfxMessageBox("Biff8");

break;

}

int type = 0;

switch (Type)

{

case WORKBOOK:

type = 5;

AfxMessageBox("Workbook");

break;

case WORKSHEET:

type = 16;

AfxMessageBox("Worksheet");

break;

case CHART:

type = 32;

AfxMessageBox("Chart");

break;

}

break;

}

dwPos = f.GetPosition();

}

我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-06-12 17:48
快速回复:实现20*20=400个表格,请各位指教~!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020423 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved