起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 443|回复: 18

【结贴】[请求] 关于导入EXCEL 的2个问题**

[复制链接]
发表于 2008-12-22 15:38:43 | 显示全部楼层 |阅读模式
1. “字段对应关系设置”代码在哪里?

2. 如何动态获取Sheet 表的名称,即获取用户点击sheet表名称?

exceltotable_1.jpg

68.55 KB, 下载次数: 225

回复

使用道具 举报

发表于 2008-12-22 16:47:52 | 显示全部楼层
procedure TEXCELIMPORTFORM.actConDefineExecute(Sender: TObject);
begin
  if not DataSetMan.Active then
  begin
    jsdialogs.ShowWarning('请选择数据集!','提示');
    Exit;
  end;
  if Edit1.Text = '' then
  begin
    jsdialogs.ShowWarning('请选择要导入的文件!','提示');
    Exit;
  end;
  ExcelToTable.FileName := Edit1.Text;
  ExcelFieldMapFunc.ShowFieldMapEditor(ExcelToTable);
end;
回复 支持 反对

使用道具 举报

发表于 2008-12-22 16:53:19 | 显示全部楼层
2。可以从fieldmap自己解析出来,看看客户选的哪个sheet。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-23 09:41:07 | 显示全部楼层
请问这个窗体设计器在哪里,1楼窗体的取消和确定是一个效果,都是导入数据,并没有取消。
回复 支持 反对

使用道具 举报

发表于 2008-12-23 09:54:49 | 显示全部楼层
ExcelFieldMapFunc.ShowFieldMapEditor(ExcelToTable); 是设计器,在控件里面。
这个界面只是配置对应字段,并没有开始导入数据。
http://bbs.justep.com/forum.php?mod=viewthread&tid=13630
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-23 11:21:22 | 显示全部楼层
最初由 lixy 发布
[B]2。可以从fieldmap自己解析出来,看看客户选的哪个sheet。 [/B]


在下图的对话框中如何能直接下拉选择页签名称,而不是手动填写?

在fieldmap 的字段匹配之前,就将excel的所有sheet列出供用户选择。

或者通过ExcelToTable控件直接获取所有sheet名称供下拉选择?

选择sheet.jpg

27.24 KB, 下载次数: 210

回复 支持 反对

使用道具 举报

发表于 2008-12-23 13:14:51 | 显示全部楼层
在下图的对话框中如何能直接下拉选择页签名称,而不是手动填写?
答:需要楼主用vba读取excel文件的标签信息,然后显示到你的对话框上

在fieldmap 的字段匹配之前,就将excel的所有sheet列出供用户选择。
答:抱歉,这个控件不支持

或者通过ExcelToTable控件直接获取所有sheet名称供下拉选择?
答:楼主可以用vba读取到标签,然后代码设置映射关系(不能让用户自己选择了)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-23 16:15:42 | 显示全部楼层
最初由 jiahaiming 发布
[B]在下图的对话框中如何能直接下拉选择页签名称,而不是手动填写?
答:需要楼主用vba读取excel文件的标签信息,然后显示到你的对话框上
以下省略...... [/B]


如何可以在不打开EXCEL 情况下就直接获取xls 文件 的所有sheet名称呢?

使用平台的 DispatchHelper 可以实现吗,抱歉,还未没有找到可参考的示例代码。
回复 支持 反对

使用道具 举报

发表于 2008-12-23 16:22:18 | 显示全部楼层
DispatchHelper 只是个平台执行vba的一种方式。你先找到vba的代码,然后再翻译过来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-23 16:27:51 | 显示全部楼层
For i = 1 To Sheets.Count
           strSheetName = Sheets(i).Name
Next i

VBA 是这样的,但平台里怎么实现呢?

补充一下,在6楼中,已经获取了XLS 的文件名,这时需要获取这个filename 的所有sheet名称存放到数组 strSheetName  中。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 20:12 , Processed in 0.047140 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表