我遇到过同样的问题,这主要是因为在读入数据的时候,SAS默认采用的是best.w格式,即自行判断采用最优格式,但是只有先定义变量和格式后才能保存值,所以只能取决于第一条记录。
我们假设excel表格中的数据如下:
会计科目 金额
同业存款 10000
某某二级贷款科目很长的那种 20000000
我们将它导入,跳过第一行,可能科目那个字段的长度就会不够用的,
很笨的解决方法,用一行你认为足够长的的字符将字段长度撑起来,导入数据库后删除第一条记录
例如:改为
会计科目 金额
恨恨恨恨恨恨恨恨恨恨恨恨恨恨长 9999999999 (注意:就是这一行)
同业存款 10000
某某二级贷款科目很长的那种 20000000
当然,或许有更好的更科学的方法,我找了很多资料都没有找到,proc import里面也没有介绍,希望大家莫笑
如果你能确定单元格范围,可以参考下面:
proc import
datafile="d:\xls\xxxxxx.xls"
out=work.TEMPXB&p&No
(rename=(
F1=NO
F2=LOAN
F3=AC_LOAN
))
dbms=excel2002 replace;
range='C26:K43';/*就在这里确定范围*/
GETNAMES=NO;
RUN;
如果还是不行,不妨将你的xls发上来(去掉国家机密:))