起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: jacobpro

【搞定】再发关于EXCELTOTABLE**

[复制链接]
 楼主| 发表于 2007-1-23 16:33:32 | 显示全部楼层
再发一次试试

exceltotable_test.rar

1.73 MB, 下载次数: 38

回复 支持 反对

使用道具 举报

发表于 2007-1-23 21:40:46 | 显示全部楼层
是不是没有设置ExcelToTable1的开始行和结束行两个属性
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-24 07:47:11 | 显示全部楼层
这个设置了。我把EXCEL也传上去

test.rar

1.43 KB, 下载次数: 35

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-24 07:47:46 | 显示全部楼层
关键是BUTTON2的事件。BUTTON1可以不管。。
回复 支持 反对

使用道具 举报

发表于 2007-1-24 09:55:37 | 显示全部楼层
楼主的代码应该这样修改:
procedure TMAINFORM.Button1Click(Sender: TObject);
var
  lstr: String;
begin
  if OpenDialog1.Execute then
  begin
    lstr := OpenDialog1.FileName;
    ExcelToTable1.FileName := lStr;
    ExcelFieldMapFunc.ShowFieldMapEditor(ExcelToTable1);
  end;
end;

procedure TMAINFORM.Button2Click(Sender: TObject);
var
  lstr, ErrStr: String;
begin
//  if OpenDialog1.Execute then
//  Edit1.Text :=SysUtils.ExtractFileName(opendialog1.FileName);
//  Edit1.Text :=sysUtils.ExtractFileDir(opendialog1.FileName)+'\'+SysUtils.ExtractFileName(opendialog1.FileName);
//  ExcelToTable1.FileName := Edit1.Text;
   ExcelToTable1.Execute(lstr);
   dsbMaster.DataSet.ApplyUpdates;
   if ErrStr <> '' then
     dialogs.ShowMessage(ErrStr);
end;
回复 支持 反对

使用道具 举报

发表于 2007-1-24 09:56:28 | 显示全部楼层
楼主是BUTTON1来选择,BUTTON2来执行。
其实可以在一个按钮上来做这样的事,代码如下:
procedure TMAINFORM.Button1Click(Sender: TObject);
var
  lstr: String;
begin
  if OpenDialog1.Execute then
  begin
    lstr := OpenDialog1.FileName;
    ExcelToTable1.FileName := lStr;
    ExcelFieldMapFunc.ShowFieldMapEditor(ExcelToTable1);
    ExcelToTable1.Execute(lstr);
    dsbMaster.DataSet.ApplyUpdates;
    if ErrStr <> '' then
      dialogs.ShowMessage(ErrStr);
  end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-24 15:00:53 | 显示全部楼层
最初由 aPanther 发布
[B]楼主是BUTTON1来选择,BUTTON2来执行。
其实可以在一个按钮上来做这样的事,代码如下:
procedure TMAINFORM.Button1Click(Sender: TObject);
var
  lstr: String;
be..

以下省略...... [/B]


非常感谢APANTHER老师的帮助,
但是运行这段代码后还存在这样的问题,不知道如何解决。

    ExcelToTable1.Execute(lstr);  

这句报错如下:

0023.jpg

13.83 KB, 下载次数: 138

回复 支持 反对

使用道具 举报

发表于 2007-1-24 16:57:52 | 显示全部楼层
代码没有问题:
你的这个错误是控件的一个BUG,解决方法是:
在TEST这个excel文件里插入一个新的sheet页,excel不能只有一个sheet页。
用下面的就可以了。

目前exceltotable控件有两个BUG:
1,第一个就是上面说的。
2,如果excel中有日期型字段,在导入到表的时候会有问题,读出来的不是日期,还有可能报错。

test.rar

2.33 KB, 下载次数: 47

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-25 08:07:12 | 显示全部楼层
编译没问题,但是当运行时,会报错。

不选TEST1.XLS肯定报错,选了TEST1.XLS有时候报错。
报错截图如下:

0024.jpg

12.85 KB, 下载次数: 132

回复 支持 反对

使用道具 举报

发表于 2007-1-25 08:56:33 | 显示全部楼层
你把你excel文件里的那两个日期的单元格子,都改成文本。
然后你看看你自己定义的单元格对应是否正确!

test1是必须的!~~明显是test1字段为主键,但没有插入值造成的!你自己好好想想!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-24 01:35 , Processed in 0.041113 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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