只言片语
posts(4)
comments(3)
trackbacks(0)
BlogJava
联系
聚合
管理
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
eclipse
java(2)
随笔档案
2006年8月 (2)
2006年7月 (2)
搜索
最新评论
1. re: 操作Excel,自动设置列高
看到这个我觉得我的EXCEL 弱智了~
--Crusher Machine
2. re: 现在我们的开发架构
评论内容较长,点击标题查看
--aihua
3. re: 现在我们的开发架构
请问 BaseDAO具体怎么实现??能否给出一个实例?有空希望和我留言。
--智者无疆
阅读排行榜
1. 操作Excel,自动设置列高(1730)
2. 现在我们的开发架构(378)
3. 改进(255)
4. 网页上发送mail的编码问题(247)
评论排行榜
1. 现在我们的开发架构(2)
2. 操作Excel,自动设置列高(1)
3. 改进(0)
4. 网页上发送mail的编码问题(0)
View Post
操作Excel,自动设置列高
C#
1
//
/ <summary>
2
//
/ 自动设置Excel列高
3
//
/ </summary>
4
//
/ <param name="m_objSheet">Worksheet</param>
5
//
/ <param name="beginPos">string</param>
6
//
/ <remarks>
7
//
/ 自动设置Excel列高
8
//
/ </remarks>
9
public
static
void
autoSetHeight(Worksheet m_objSheet,string beginPos)
10
{
11
//
分解坐标
12
string[] rows
=
beginPos.Split(
'
,
'
);
13
//
获取单元格对象
14
Range range1
=
m_objSheet.Cells[
int
.Parse(rows[
0
]),
int
.Parse(rows[
1
])] as Excel.Range;
15
//
获取单元格长/宽
16
int
iRowCount
=
range1.MergeArea.Rows.Count;
17
int
iColumnsCount
=
range1.MergeArea.Columns.Count;
18
19
//
第一列宽
20
double
iColumnWidth
=
double
.Parse(range1.ColumnWidth.ToString());
21
22
//
获取总的列宽
23
double
iSunColumnWidth
=
0
;
24
25
for
(
int
i
=
0
; i
<
iColumnsCount; i
++
)
26
{
27
Range tmp_range
=
m_objSheet.Cells[
int
.Parse(rows[
0
]), (
int
.Parse(rows[
1
])
+
i)] as Excel.Range;
28
iSunColumnWidth
=
iSunColumnWidth
+
double
.Parse(tmp_range.ColumnWidth.ToString());;
29
}
30
31
32
//
分解单元格
33
range1.UnMerge();
34
35
//
重新获取单元格第一个小块
36
range1
=
m_objSheet.Cells[
int
.Parse(rows[
0
]),
int
.Parse(rows[
1
])] as Excel.Range;
37
//
获取第一个小块的原始高度
38
double
range1_height
=
double
.Parse(range1.RowHeight.ToString());
39
//
设置第一个小块为自动拉伸
40
range1.EntireRow.AutoFit();
41
42
int
newRows
=
int
.Parse(rows[
0
])
+
(iRowCount
-
1
);
43
int
newColumn
=
int
.Parse(rows[
1
])
+
(iColumnsCount
-
1
);
44
//
重新获取单元格
45
Range range2
=
m_objSheet.get_Range(m_objSheet.Cells[
int
.Parse(rows[
0
]),
int
.Parse(rows[
1
])],m_objSheet.Cells[newRows,newColumn]);
46
//
合并单元格
47
range2.Merge(
0
);
48
49
double
h1
=
double
.Parse(range1.RowHeight.ToString());
50
range2.RowHeight
=
range1_height;
51
52
//
计算合并后的单元格的高度
53
double
hh
=
h1
*
(iColumnWidth
/
iSunColumnWidth);
54
55
//
如果第一个小块的高度还没有默认高度高,则不设置高度
56
if
(h1
>
range1_height)
57
{
58
//
如果计算后的高度比原始的高,则设新的高度,并且+15,让字体能够显示出来,否则设置原始高+15
59
if
(hh
>
range1_height)
60
{
61
range2.RowHeight
=
hh
+
15
;
62
}
63
else
64
{
65
range2.RowHeight
=
range1_height;
66
}
67
68
}
69
}
posted on 2006-08-20 13:30
aihua
阅读(1730)
评论(1)
编辑
收藏
View Comments
#
re: 操作Excel,自动设置列高
回复
更多评论
看到这个我觉得我的EXCEL 弱智了~
2012-02-19 10:52 |
Crusher Machine
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理