急.EXCEL导入MDB时 有标题的怎么处理?或是从第几行读取?
在弄一个小程序.EXCEL导入MDB
EXCEL 第一行是标题 第二有一个日期
第三行才是正常的字段名
第四行就是正常的数据了
标 题
日期:2011年3月3日
序号,收货人,件数,货物名称,代收货款,运费,手续费,取货时间,合计
这样的结构
如果手工删掉第一二行后,
第三行做为字段名,
使用ADOQuery,才能正常导入.
Close;
SQL.Text:='SELECT 收货人,件数,货物名称,代收货款,运费,手续费,取货时间,合计 INTO SJ1 FROM [货物清单$] IN "'+ FileName + '" "EXCEL 8.0;"';
ExecSQL;
能够导入,很快,速度很满意.
但是客户的EXCEL就是有标题和第二行的日期 让客户每次都手工删除不太好
所以求教怎么样在导入时过滤第一二行,
直接拿第三行当字段名读入数据呢?
谢谢,谢谢.
[解决办法]
Try unnamed range like this:
select * from [货物清单$A4:H65531]
Hope it helps.
//Ali
[解决办法]
你用的ado的方式导入的,导入之前在程序里面把你不需要的行给删除,例如:
uses   ComObj;
var   Excel:   OleVariant;
begin
    Excel   :=   CreateOLEObject( 'Excel.Application ');
    Excel.WorkBooks.Open( 'c:\1.xls ');//打开
    Excel.WorkSheets[1].Rows[1].Delete;  //删除第一行
    Excel.ActiveWorkbook.Save;     //   保存
    Excel.Quit;//退出
end;
或者不用ado的方式来导入,写个循环,单元格一个个读取值,然后导入数据库
[解决办法]
可以用Cast函数把字符串('2011-04-20 20:19:19')转换成时间类型可以试试,仅供参考
[解决办法]
cast是数据库的函数,具体可以看看帮助。cast('2009-01-01' as datetime)