起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 264|回复: 10

【结】excel导出后导入问题**

[复制链接]
发表于 2008-5-9 08:50:54 | 显示全部楼层 |阅读模式
参考了http://bbs.justep.com/forum.php?mod=viewthread&tid=21567    中4楼李老师的代码,但是仍然必须先删除导出的文件的列头,才能导入数据,请问是什么原因?
回复

使用道具 举报

发表于 2008-5-9 08:56:08 | 显示全部楼层
一个可能是你设计的excel文件格式,那个控件不认了。
另一个是你没设计对导出的对应关系,比如起始行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-9 09:25:01 | 显示全部楼层
我现在导入删除了列头的excel,时,会出现设计框,手动从设计框中设置对应关系,能导入,不过用户麻烦,还要自己设置对应关系.  所以最好还是已经设置好对应关系了,用户点击一下按钮就导入了,不知道代码怎么写?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-9 10:02:54 | 显示全部楼层
我要导入的excel 文件是通过 DataGrid1.SaveToXLS(...),从平台直接导出的,,然后再导入就必须要删除列头才行了~~怎么办呀~~~
回复 支持 反对

使用道具 举报

发表于 2008-5-9 10:30:11 | 显示全部楼层
把ExcelToTable的StartRow属性默认值设置为2看看。
回复 支持 反对

使用道具 举报

发表于 2008-5-9 10:33:12 | 显示全部楼层
我要导入的excel 文件是通过 DataGrid1.SaveToXLS(...),从平台直接导出的,,然后再导入就必须要删除列头才行了~~怎么办呀~~~
把起始行设定的跳过列头。我已经试验过了,是可以的。
至于用户麻烦,如果格式不动,可以写死fieldmap
删除掉
if ExcelFieldMapFunc.ShowFieldMapEditor(lExcelToTable) then
这句
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-9 11:21:37 | 显示全部楼层
跳过列头是不是就是添加如下代码:
procedure TAJJS.Button2Click(Sender: TObject);
var
   lExcelToTable:TExcelToTable;
   lmsg:string;
begin
if OpenDialog1.Execute then
begin
    lExcelToTable:=TExcelToTable.Create(self);
    [B]lExcelToTable.StartRow:=2;   //把起始行设定的跳过列头。[/B]
    try
      lExcelToTable.FileName := OpenDialog1.FileName;
      lExcelToTable.DataSource:=DataSource1;

      if ExcelFieldMapFunc.ShowFieldMapEditor(lExcelToTable) then
      begin
       if not lExcelToTable.Execute(lmsg) then
          begin
            jsDialogs.ShowError(lmsg, '导入excel失败!');
          end ;
       end;
     finally
       lExcelToTable.free;
     end;
  end;

end;
回复 支持 反对

使用道具 举报

发表于 2008-5-9 11:24:54 | 显示全部楼层
if ExcelFieldMapFunc.ShowFieldMapEditor(lExcelToTable) then  这个是显示编辑器的,后面会以这个为准
回复 支持 反对

使用道具 举报

发表于 2008-5-15 16:08:40 | 显示全部楼层
这个还有问题吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-15 16:09:37 | 显示全部楼层
这个暂时先这样吧~~有问题开新帖~~谢谢关注~~
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 01:36 , Processed in 0.036155 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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