| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2287 人关注过本帖
标题:[讨论][求助]不规则表格的实现
只看楼主 加入收藏
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
结帖率:33.33%
收藏
 问题点数:0 回复次数:22 
[讨论][求助]不规则表格的实现
想实现如下表格:
图片附件: 游客没有浏览图片的权限,请 登录注册


数据库结构及纪录如下:

图片附件: 游客没有浏览图片的权限,请 登录注册


由于该表的列(每单元的户数,一梯一户、一梯二户)是不固定的,所以就没考虑用水晶报表,改为输出Excel表格。

我的思路如下:
1、先取出A号楼,共几个单元,每个单元的最大层数和每层最大户数
取出的值我放到了数组里:
三单元,8层,2户
二单元,8层,1户
一单元,8层,3户

2、依次按每个单元循环进行赋值
定义数组:
三单元:
string MyData[]=new string[8,2]
二单元:
string MyData[]=new string[8,1]
一单元:
string MyData[]=new string[8,3]

赋值(取出值就赋,无值就为空):
三单元:
for(int i=0;i<=8-1;i++)//楼层
{
for (int j=0;j<=2-1;j++)//每层户数
{
MyData[i,j]=????
//sqlcommand cmd=new ("select 房号,面积,户主 from 房产库 where 楼房=A and 单元=三单元",conn);
}
}

3、输出到Excel表格


现在的问题就是第2步,如何赋值的问题。也就是从sqlserver取值怎么赋给MyData?(我无法确定从数据库取到的数据该放到哪个MyData[i,j]里)。

这只是我个人的思路,还有什么好的方法,希望能给与指导!谢谢!

eHuxWsEd.jpg (68.33 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 表格 讨论 
2007-05-31 09:52
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
回复:(jockey)[讨论][求助]不规则表格的实现
图片改小了一点:
图片附件: 游客没有浏览图片的权限,请 登录注册


2007-05-31 09:55
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
将EXCEL表也看成一个二维表(和数据表是一样的)这样你好不好解决?

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-05-31 10:02
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 

谢谢jacklee!
我原来也是这么想的,但是数据表的纪录不能保证有 比如三单元:8*2=16条纪录,而在Excel里是16个格,问题在于怎么判断填充的位置


2007-05-31 10:10
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 

做这种关键就是位置的处理,我还没看上面的东西,呵呵,看下你的要求。


XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-05-31 10:12
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
你的户数决定了你的EXCEL表格列的绘制方式,先分析取出的数据将EXCEL表格排版要确认好(这个出来了没)再就是数据填充了,填充方法也不是很难。关键是EXCEL排版结构,出来了没?

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-05-31 10:18
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
Excel我按照列来绘制
比如:先绘制三单元的表格(8*2),这一部已经实现了。

问题是数据怎么赋进去?根据什么赋

比如Excel表格的 B5位置怎么存放的是806?B6位置怎么存放的是706?....

2007-05-31 10:26
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
我原来考虑的是用数组存放数据:MyData[8,2]也就是对应Excel的18个空格,赋值,然后再把数组写到Excel中即可。

呵呵,但是我不会判断数据如何赋到 MyData[i,j]里。思路,思路

2007-05-31 10:28
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
因为数据不是8*2=16条纪录(比如三单元只有4条纪录),而表格是16条纪录,所以不能一一对应,故想个什么方法赋值

2007-05-31 10:31
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
先将表头区计算出来记下行值,目的是认出专门的数据区,这样对赋值时方便较大,再次搜索每一个楼层的每个户数据,这样还不好填?位置的固定我想好办吧?就是你架EXCEL排版时应该做下相应的记号,就是一些列和行的数据区标记,这样你好实现吗?

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-05-31 10:32
快速回复:[讨论][求助]不规则表格的实现
数据加载中...
 
   



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

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