excel合并单元格数据的读取(80分)

  • 主题发起人 主题发起人 seilfer
  • 开始时间 开始时间
S

seilfer

Unregistered / Unconfirmed
GUEST, unregistred user!
在EXCEL中有这样两行数据
a c E F g I
b d h
其中大写字母是将上下两个单元格合并形成的,我想导入数据库时存成这样的格式,请问该
如何写啊?
a c e f g i
b d e f h i
 
为什么没人答啊? 主要是怎么能知道一个单元格是被合并过的啊? 大家帮帮忙吧
 
好象合并过的单元格都是以开始那个单元格表示的,其他合并进去的格都没有了
看看可以不可以这样来判断?
 
to mhtan:
是这样的,每个合并单元格的上部分是值,下部分的单元格读出来的就是NULL,第一行
的fields[2]=e ,第二行的fields[2]=null ,我不知道该怎么写。因为数据很多,而且又很多
地方是空值不能一一判断的。
 
判断区域或样式包含合并单元格,用MergeCells属性

读取包含指定单元格的合并的范围,用MergeArea属性

帮助里都有写的,自己查一下[:)]
 
to maple_guo:
哪的帮助里啊? DELPHI的?我没查到啊。 而且我用的是OLE没用DELPHI的SERVER控件。
能用吗?我先试试看
 
Excel 的帮助
 
晕,我家OFFICE没装帮助,哪位老大受累能把这两个函数的帮助贴出来啊。分不够可以
再加的
 
MergeArea这个属性怎么用啊? 谁能讲讲或给个帮助
 
VBAXL9.CHM------->>
Worksheet.range(...).Merge 方法


语法 1:将另一工作表中的方案合并到 Scenarios 集合。

语法 2:将另一工作簿中的样式合并到 Styles 集合。

语法 3:从指定的 Range 对象中创建合并单元格。

语法 1

expression.Merge(Source)

语法 2

expression.Merge(Workbook)

语法 3

expression.Merge(Across)

expression 必选。返回 Scenarios 对象(语法 1)、Styles 对象(语法 2)或 Range 对象(语法 3)的表达式。

Source Variant 类型,必选。包含待合并方案的工作表名称,或代表该工作表的 Worksheet 对象。

Workbook Variant 类型,必选。Workbook 对象,该对象代表包含待合并样式的工作簿。

Across Variant 类型,可选。若为 True,则将指定区域内的每一行合并为一个合并单元格。默认值为 False。

说明

合并区域的值为合并区域中左上角的单元格的值。
 
to feizi :
老大你贴的是MERGE啊。我现在是要从合并的单元格向外读数
“合并区域的值为合并区域中左上角的单元格的值。”
我现在想让每行读出来的数据都是这个单元格的值,该怎么做啊?我没帮助查不到函数急死了
 
哦这个好办,我以前这么做:
每列有可能合并的列都用变量存起来当前值,如果当前行该列null那么就采用变量保存的值

| 1 | 2 | 3 | 4 |
------------------------------------
| aa | bb | cc | dd |
| | FF | gg | mm |
上面的值看作“aa”
------------------------------
是否这个意思?
 
呵呵,这个方法虽简单,但通用,也很实用。
建一个数组保存前一行的值,再继续下一行判断。
直到下一个值不为Null时就替换保存值。
还能找到比这个方法更直接的方法吗?
 

Similar threads

D
回复
0
查看
871
DelphiTeacher的专栏
D
D
回复
0
查看
930
DelphiTeacher的专栏
D
D
回复
0
查看
945
DelphiTeacher的专栏
D
D
回复
0
查看
777
DelphiTeacher的专栏
D
后退
顶部