起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: spark

【结贴】Excel to table的问题**

[复制链接]
 楼主| 发表于 2009-2-4 11:16:48 | 显示全部楼层
你说的方法我试了下是会弹出一个映射关系界面,我也核对了对应项没有问题,但是还是没有取出EXCEL的数据取出来
另外我在excel to table里把对应项在里面填充然后只执行如下代码数据能正常导入,不知这个是什么原因procedure TSCJH.Button4Click(Sender: TObject);
var

  ErrStr,FileNameStr:String;
begin
     opendialog1.Execute;
     FileNameStr :=sysutils.ExtractFileDir(opendialog1.FileName)+''+SysUtils.ExtractFileName(opendialog1.FileName);
    ExcelToTable1.FileName := FileNameStr;
      ExcelToTable1.StartRow :=4;
    ExcelToTable1.EndRow :=160;
      ExcelToTable1.Execute(ErrStr);
       DataSetBroker1.DataSet.ApplyUpdates;
   finally
      if ErrStr<>'' then   dialogs.ShowMessage(ErrStr);
   end;

    DataSetBroker1.DataSet.Open;

end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-4 11:22:37 | 显示全部楼层
我又测试了一下只能导入EXCEL to table属性中filename中指定的那个EXCEL,选其它的EXCEL时导入的也是那个指定的filename的那个文件的数据
回复 支持 反对

使用道具 举报

发表于 2009-2-4 11:38:37 | 显示全部楼层
哦,就是说手动去指定一下映射关系就可以导入了,对吧?
那就是你之前代码做的映射关系做的不对吧。

回12楼,如果指定映射关系后,继续做导入操作,那个映射关系好象没有清空哦(如果没退出程序的话)。你可以检查看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-4 11:45:24 | 显示全部楼层
嗯问题解决了数据集代理的问题,要信息代理中的那个数据集代理才行
procedure TSCJH.Button4Click(Sender: TObject);
var

  ErrStr,FileNameStr:String;
begin
     opendialog1.Execute;
     FileNameStr :=sysutils.ExtractFileDir(opendialog1.FileName)+''+SysUtils.ExtractFileName(opendialog1.FileName);
    ExcelToTable1.FileName := FileNameStr;
  //   ExcelToTable1.FieldMap.Add('DataSetEXCEL_NDJH.FSCBS=''001''');





      ExcelToTable1.FieldMap.Clear;
      ExcelToTable1.FieldMap.Add('DataSetEXCEL_NDJH.FSCPPBH=Sheet1[1,0]');
     // ExcelToTable1.FieldMap.Add('DataSetBroker1.fscbs=''001''');

    ExcelToTable1.FieldMap.Add('DataSetEXCEL_NDJH.FSCCYHJ=Sheet1[5,0]');
     ExcelToTable1.FieldMap.Add('DataSetEXCEL_NDJH.FSCSCXJ=Sheet1[6,0]');
    ExcelToTable1.FieldMap.Add('DataSetEXCEL_NDJH.FSCCD=Sheet1[7,0]');
    ExcelToTable1.FieldMap.Add('DataSetEXCEL_NDJH.FSCSF=Sheet1[8,0]');
    ExcelToTable1.FieldMap.Add('DataSetEXCEL_NDJH.FSCMY=Sheet1[9,0]');
    ExcelToTable1.FieldMap.Add('DataSetEXCEL_NDJH.FSCXC=Sheet1[10,0]');
    ExcelToTable1.FieldMap.Add('DataSetEXCEL_NDJH.ccxjyc=Sheet1[11,0]');
    ExcelToTable1.FieldMap.Add('DataSetEXCEL_NDJH.FSCCQXJ=Sheet1[12,0]');
    ExcelToTable1.StartRow :=4;
    ExcelToTable1.EndRow :=300;

再问一下我有一个字段想单独赋值
但是我这样ExcelToTable1.FieldMap.Add('DataSetEXCEL_NDJH.fscbs=''001''');又加不进去有没办法单独加入呀
回复 支持 反对

使用道具 举报

发表于 2009-2-4 11:51:30 | 显示全部楼层
那就不能了。用下面的两种思路吧:
1、excel导入前,修改好那个文件中的列信息
2、导入到一个临时数据集中(平台中的用户数据集),然后再编辑然后再保存到数据表中。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-4 11:57:12 | 显示全部楼层
嗯好我再想想办法,可以结贴了
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 05:33 , Processed in 0.035810 second(s), 12 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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