excel 小问题 在线等 高分 来着有分

美丽大道 2009-08-28 10:42:00
编制报表时候出个问题有关于合并单元格的问题:

如下:


编码 姓名 入学时间
001 张三 1992
001 张三 1995
001 张三 1998
002 李四 2001
002 李四 2003
002 王五 1007


让第一列三个001能合并,三个002能合并, 第二列张三合并,李四合并。。。


就是说给个参数,比如A,B。 就是先合并A,再合并B。但是B的合并不能超出A合并的范围。。。

编码 姓名 入学时间
001 张三 1992
001 张三 1995
001 张三 1998
002 张三 2001
002 张三 2003
002 王五 1007


如上例子:
按照A,B列合并后, 不能把五个张三合并,要合并上面3个,下面2个。因为先合并的是A列。。。


...全文
117 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
mythad 2009-09-25
  • 打赏
  • 举报
回复
up
bimulei 2009-09-25
  • 打赏
  • 举报
回复
帮顶
IMUSTWorking 2009-09-25
  • 打赏
  • 举报
回复
在EXCL中錄制一個宏,然後查看宏代碼,然後依據這些宏代碼,自己編碼就行合並就可以。很簡單的。
hzfurongmu 2009-09-25
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分
z905802 2009-09-07
  • 打赏
  • 举报
回复
用gridview,先不管格式,把数据全部绑定到gridview上,然后在对gridview进行格式的控制(进行列和行的合并),这和操作table差不错,给你例子,希望对你有帮助。
GridView1.Rows[hscount - 1].Cells[ColumnNumber-2].Visible = false;
GridView1.Rows[hscount - 1].Cells[ColumnNumber-1].Visible = false;
GridView1.Rows[hscount - 1].Cells[ColumnNumber].ColumnSpan = 3;
llsen 2009-09-07
  • 打赏
  • 举报
回复
用水晶报表两层分组应该可以实现。
SQL77 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 unstopable 的回复:]
编制报表时候出个问题有关于合并单元格的问题:

如下:


编码    姓名        入学时间 
001     张三  1992
001     张三  1995
001   张三  1998
002     李四  2001
002     李四  2003
002   王五           1007


让第一列三个001能合并,三个002能合并,  第二列张三合并,李四合并。。。


就是说给个参数,比如A,B。  就是先合并A,再合并B。但是B的合并不能超出A合并的范围。。。

编码    姓名        入学时间 
001     张三  1992
001     张三  1995
001     张三    1998
002     张三  2001
002       张三  2003
002   王五           1007


如上例子:
按照A,B列合并后, 不能把五个张三合并,要合并上面3个,下面2个。因为先合并的是A列。。。



[/Quote]
楼主这个SQL解决方便,
不知道楼主时间最后想要什么,新的????
t6786780 2009-09-07
  • 打赏
  • 举报
回复
sf
sophia__rp 2009-09-07
  • 打赏
  • 举报
回复
jfjf
gisyellow 2009-09-07
  • 打赏
  • 举报
回复
我是“来者”
hangang7403 2009-09-07
  • 打赏
  • 举报
回复
up
美丽大道 2009-09-07
  • 打赏
  • 举报
回复
everyone all know how to do! but i want to know who can do and share to me。
虫洞 2009-08-29
  • 打赏
  • 举报
回复
不明白楼主想如何实现?
ttianqq 2009-08-29
  • 打赏
  • 举报
回复
这个你只能自己写代码控制了,首先合并第一列,然后把合并过的行的范围记录下来,在第二列合并的时候进行判断,如果超出范围了,就按照第一列的范围处理
killboner 2009-08-29
  • 打赏
  • 举报
回复
说一下大致思路
Excel._Application exc=new Excel.ApplicationClass();
exc.Application.Workbooks.Add(true);
Excel._Worksheet ws=new Excel.WorksheetClass();
ws=(Excel._Worksheet)exc.ActiveSheet; //取得当前worksheet

int r_a, r_b, c_a, c_b;
Excel.Range r;
r=ws.get_Range(ws.Cells[r_a,r_b],ws.Cells[c_a,c_b]); //取得合并的区域
r.MergeCells=true;

其实这里另外要做的就是加判断:
判断r_b>r_a时做什么,判读c_a=c_b时做什么
mythad 2009-08-29
  • 打赏
  • 举报
回复
jf
yellowyear 2009-08-29
  • 打赏
  • 举报
回复
就是,虽然知道你在说啥,但是你的问题呢?在哪儿呢?半天都不知道你要问啥,虽然我承认我很厉害,但你也不用这么客气吧
美丽大道 2009-08-29
  • 打赏
  • 举报
回复
c# 进行Excel编程。。。。。


要求报表实现自动的按列合并单元格。。。。
jeven_xiao 2009-08-29
  • 打赏
  • 举报
回复
自己的需求都不清楚人家怎么帮你呢
wenblue7 2009-08-29
  • 打赏
  • 举报
回复
顶了
加载更多回复(6)

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧