紧急求助SAS 9.3excel.dll 导出问题Excel2013 的问题,谢谢各位大侠

苹果/安卓/wp
积分 1705, 距离下一级还需 520 积分
权限: 自定义头衔, 签名中使用图片, 隐身, 设置帖子权限
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发, 提升卡下一级可获得
权限: 设置回复可见道具: 沉默卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
想请教一个关于转码的问题,我现在想将sas数据集导出成utf8格式的,但是似乎用向导导出时,选项里没有,这该怎么办?
我经常遇到导出的数据集比在sas里少了一些,结果在文本编辑器里查看,发现转码不正确,请问该如何处理?
载入中......
求高人指点啊,明天组会要挂啊。。。。
导出是类似的,我想应该加个ENCODING=
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
楼上的方式可以哦,
热心帮助其他会员
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
看了这个视频,我于是有了进股市的信心!
http://bbs.pinggu.org/thread--1.html
zhengbo8 发表于
导出是类似的,我想应该加个ENCODING=
http://bbs.pinggu.org/forum.php?mod=viewthread&tid=2317285&pa ...PROC EXPORT DATA= VERSION2.SCORE_BDGJ
& && && && &OUTFILE= 'C:\Users\zj\Desktop\1.txt' encoding='utf8'
& && && && &DBMS=TAB REPLACE;
& &&&PUTNAMES=YES;
RUN;复制代码是这样吗?为什么说我语法错误。。。
appleqiuqiu 发表于
是这样吗?为什么说我语法错误。。。SAS默认的是gb2312;因为你要输出,是用filename设置编码,不是export过程。
filename&&file_name& &&物理文件地址& encoding=utf8;复制代码
然后用数据步或者proc export导入的时候,物理地址改成file_name。
试试这个。我没你的数据集,拿sashelp.class为例:
filename&&myfile& &&C:\1.txt& encoding=utf8;
PROC EXPORT DATA= sashelp.class
& && && && &OUTFILE= myfile
& && && && &DBMS=TAB REPLACE;
RUN;复制代码
热心人帮我解决了难题~~
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
zhengbo8 发表于
SAS默认的是gb2312;因为你要输出,是用filename设置编码,不是export过程。非常感谢!!!这回成功了!!!
金融投资那点事一看就明白 网址 **** 微信公众号 shanmenliu
学习了,非常感谢各位
初级热心勋章
初级热心勋章
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师苹果/安卓/wp
积分 89, 距离下一级还需 56 积分
权限: 自定义头衔
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡下一级可获得
道具: 匿名卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
开心签到天数: 3 天连续签到: 1 天[LV.2]偶尔看看I
本帖最后由 hlfjacky 于
09:42 编辑
在运行下面这个 proc export之前,我先做proc reg.... by month. 比如我有12年数据,那么我会得到12*12=144个不同的结果。因为是做rolling regression, 所以这144个结果是逐个依次产生的(每次都命名为risk). 然后我将这144个名为risk的结果用下面这个proc export逐次 export 到excel:
proc export data=risk
& &&&outfile = &E:\sample.xls&
& &&&dbms = excel
& &&&sheet = &&month&;
现在问题是,由这个 proc export得到的excel文件里,每一个月的结果是保存在不同的sheet里,一共会有144个sheet(附上的excel文件是导出的结果效果,但这个不是我想要的结果)。
09:42:37 上传
但我想让全部的结果都只放在一个sheet里,而不是放到多个sheet里,应该怎么做?就是,我想要的结果是一个excel文件,在这个excel文件里只有一个sheet, 这个sheet包含144条结果。(如果我只是简单的把sheet = &&month& 改成sheet = &month&,虽然只有一个sheet, 但这个sheet里不是全部的144条记录,而只是最后一个月的结果。)
09:42:39 上传
多谢帮忙!
11:43:00 上传
载入中......
你先把数据集set到一起,再输出不就好了
我是一只瘦瘦的小猪~~~
╭︿︿︿╮
{/-◎◎-/}
我过去问过这个问题,而且有解答了
playmore邀请您访问ChinaTeX论坛!!!
playmore 发表于
我过去问过这个问题,而且有解答了
http://bbs.pinggu.org/thread--1.html谢谢。不过我是想把数据都放在同一个sheet里,就是最后输出的结果是一个EXCEL文件,这个EXCEL文件里只有一个sheet。你以前的提问时把数据放到不同的sheet里。
intheangel 发表于
你先把数据集set到一起,再输出不就好了在做数据导出之前,是一个很长的macro, 自动生成12×12=144个数据。怎么做才能让这些数据能先set到一起?能否给点coding提示?谢谢!
hlfjacky 发表于
在做数据导出之前,是一个很长的macro, 自动生成12×12=144个数据。怎么做才能让这些数据能先set到一起? ...你先设置一个空数据集,macro里面set,每生成一个,就会set掉,然后宏循环结束就全都到一个table里了
我是一只瘦瘦的小猪~~~
╭︿︿︿╮
{/-◎◎-/}
intheangel 发表于
你先设置一个空数据集,macro里面set,每生成一个,就会set掉,然后宏循环结束就全都到一个table里了多谢!我试一下,看看我能不能搞定。
初级热心勋章
初级热心勋章
初级学术勋章
初级学术勋章
中级热心勋章
中级热心勋章
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师后使用快捷导航没有帐号?
查看: 11390|回复: 19
安装了64位SAS和32位office,解决不能读入Excel文件的方法
高级会员, 积分 622, 距离下一级还需 378 积分
论坛徽章:2
本帖最后由 zhonglyi 于
16:44 编辑
如果安装了64位SAS和32位office,会在读入文件时出现错误:ERROR:连接:没有注册类ERROR:LIBNAME语句出错
原因是:SAS软件导入像Microsoft Office软件下的Excel和Access文件时,是借用Microsoft公司提供的数据接口引擎(Accessdatabase engine),如果安装了Office软件,数据接口引擎也会同时被安装,但是一般是安装了32位的数据接口引擎,所以SAS软件为64位时,则Proc import程序无法借用Office的32位数据接口引擎,故无法导入Excel和Access文件,出现错误。
解决办法就是先下载Microsoft提供的AccessDatabaseEngine_x64.exe程序,下载地址如:/zh-cn/download/details.aspx?id=13255
但是安装的时候会出现问题。因为安装的时候会检测到你机器上安装的是32位的Office,要求你把Office32位卸载掉。论坛上有不少帖子介绍的方法是卸载掉32位office再装上64位的office以解决这个问题。本人觉得卸载掉32位office重装64位比较麻烦,所以在网上找了很久,终于找到一个不用卸载32位office也能安装64位的AccessDatabaseEngine的方法。参考网址如下:http://blog.csdn.net/sundacheng1989/article/details/
本人亲身实践上述方法,成功解决了问题。希望上述方法能够帮助到同样因这个问题而困扰的人。
论坛徽章:33
两种方法都试过,还是装个软件简单
金牌会员, 积分 2098, 距离下一级还需 902 积分
论坛徽章:39
高级会员, 积分 578, 距离下一级还需 422 积分
论坛徽章:2
高级会员, 积分 578, 距离下一级还需 422 积分
论坛徽章:2
貌似把扩展名变成xlsx也可以
注册会员, 积分 154, 距离下一级还需 46 积分
论坛徽章:1
谢谢,测试了成功了~
中级会员, 积分 277, 距离下一级还需 223 积分
论坛徽章:2
试了.确实成功了,谢谢
高级会员, 积分 527, 距离下一级还需 473 积分
论坛徽章:1
注册会员, 积分 173, 距离下一级还需 27 积分
论坛徽章:6
还是转成制表符分割的txt文本简单,一样用
金牌会员, 积分 1923, 距离下一级还需 1077 积分
论坛徽章:23
这其实和SQL2008读取excel文件是一个道理。根据的就是office的安装引擎位数苹果/安卓/wp
学科带头人
学科带头人
积分 4265, 距离下一级还需 1560 积分
权限: 自定义头衔, 签名中使用图片, 隐身, 设置帖子权限, 设置回复可见
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发, 提升卡, 沉默卡, 千斤顶下一级可获得
道具: 变色卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
TA的文库&&
开心签到天数: 5 天连续签到: 1 天[LV.2]偶尔看看I
label x=&编号&;
format x a.;
proc export data=a outfile=&E:\sb.xls&
如何让输出的excel表格如下:
载入中......
欢迎加入亚太地区第一R&Python数据挖掘群: ;
您的代码要SAS9.2才支持。
攀岩的版猪
zhengbo8 发表于
您的代码要SAS9.2才支持。现在最方便的就是9.2了嘛..
本帖最后由 zhengbo8 于
14:20 编辑
曲线救国实现。
value a
1=&SB&
2=&DASB&
;
label x=&编号&;
format x a.;
ODS LISTING CLOSE;
ODS HTML BODY=&d:\sb.xls& ;
& && &&&PROC PRINT DATA=a NOOBS LABEL ;
& && && && && &
& && &&&RUN;
ODS HTML CLOSE;
ODS LISTING;复制代码
zhengbo8 发表于
您的代码要SAS9.2才支持。变量的format呢?
欢迎加入亚太地区第一R&Python数据挖掘群: ;
Imasasor 发表于
变量的format呢?标签还是中文,你再试试运行我提供的代码。
回去再好好研究下。
经测试,在win8.1+sas9.3 32下正常。
19:47:09 上传
zhengbo8 发表于
经测试,在win8.1+sas9.3 32下正常。好的,谢谢
欢迎加入亚太地区第一R&Python数据挖掘群: ;
初级学术勋章
初级学术勋章
初级热心勋章
初级热心勋章
初级信用勋章
初级信用勋章
中级热心勋章
中级热心勋章
中级学术勋章
中级学术勋章
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师【转】SAS学习笔记——64位Win7下从64位SAS&9.3中导出导入excel文件错误的解决方法
SAS学习笔记——64位Win7下从64位SAS
9.3中导出导入excel文件错误的解决方法
webber &分类:
今天得偿所愿,似乎把好运都用光了...所以这事儿就没能圆满解决。。。
Errors occur when import/output
Microsoft Excel into/from SAS 9.3 64-bit in Win7 64-bit
64位Win7下从64位SAS 9.3中导出导入excel文件错误的解决方法
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
前段时间在Win7 64位&版本下安装了SAS&9.3
64位版本,,,结果今天发现,无法将SAS数据集导出到excel文件了(从excel文件导入到SAS
9.3&也无法成功)。
一、错误日志如下:
export data=maps.africa&&outfile="d:\t.xls";
ERROR:&连接:&没有注册类
LIBNAME&语句出错。
连接失败。详细信息,请参阅日志。
NOTE:&由于出错,SAS&系统停止处理该步。
二、原因分析:
参考SAS公司的以下3个文档:
Usage Note 37412: Errors occur when you
import Microsoft Excel or Microsoft Access files into SAS&
Usage Note 33228: An error occurs when you
use SAS& 9.2 to import or export Microsoft Excel or Access files in
the Windows x64 and Windows Vista 64-bit environments
Usage Note 35286: Errors occur when you
specify the EXPORT procedure's SHEET= option in SAS& 9.2 on 64-bit
根本原因是这货需要office也要是64位版本的才行!!!!!
三、解决方法
根据以上3个帮助文档的说明,以及血泪试错,总结出大概以下几个方法(任选其一)
(一)用DBMS=XLS参数
The problem occurs because SAS
9.2 is a 64-bit release, but the Excel engine (DBMS=EXCEL) is a
32-bit engine. The XLS engine and the EXCELCS engine are 64-bit
engines, so they work on 64-bit systems.
意思是说:在import/export步中,DBMS=EXCEL是一个32位的引擎,而DBMS= XLS就是一个64位的引擎。在64位环境中,咱就加一句DBMS=
export data=maps.africa&&outfile="d:\t.xls"&DBMS=
果然,日志显示导出成功。可是,我用excel2010打开失败啊!!提示如下:
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/sblog/jMHIU19ic1D" BORDER="0" WIDTH="640" STYLE="line-height: 25.2 margin: 0px auto 10 padding: 0 max-width: 640 display: text-align:"
ALT="【转】SAS学习笔记&&64位Win7下从64位SAS&9.3中导出导入excel文件错误的解决方法"
TITLE="【转】SAS学习笔记&&64位Win7下从64位SAS&9.3中导出导入excel文件错误的解决方法" />
选择“是”后,白茫茫一片。。。。把excel文件发给亲爱的同事,人家也是office
2010,能打开,,,,,,,,,全是乱码。
好吧,也许人品好的话,可以试试。。据说很多人成功了。
(二)安装SAS PC Files Server
前面提到DBMS= XLS可以正确识别xls文件,但自从office 2007以后,文件后缀名都改为xlxs了,这就要用到DBMS=
EXCELCS参数,,这就需要安装SAS&的PC&&Files
Server组件了。
engine&does
not&require the SAS&&PC Files Server,
but the engine cannot read Microsoft Office 2007 files (XLSX, XLSM,
and XLSB). In addition, the XLS
engine&cannotbe
used with a LIBNAME statement. This engine can be used only in the
IMPORT and EXPORT procedures, as shown here:
proc import out=mysasdata
datafile="drive-name:\directory\filename.xls"
dbms= sheet='sheet-name';
proc export data=mysasdata
outfile="drive-name:\directory\filename.xls"
dbms= sheet='sheet-name';
(三)安装微软公司64位的数据接口引擎(Access
database engine)
这货在office 2007和office 2010上居然叫2个名字,好吧。。。
1、Office 2007 : 2007 Office
system&驱动程序:数据连接组件
地址如下:
2、Microsoft Access
2010&数据库引擎可再发行程序包
地址如下:/zh-cn/download/details.aspx?id=13255
据说有人安装成功,,,但我可耻的又失败了,提示如下:
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/sblog/jMHIifuYPu1" BORDER="0" WIDTH="416" STYLE="line-height: 25.2 margin: 0px auto 10 padding: 0 max-width: 640 display: text-align:"
ALT="【转】SAS学习笔记&&64位Win7下从64位SAS&9.3中导出导入excel文件错误的解决方法"
TITLE="【转】SAS学习笔记&&64位Win7下从64位SAS&9.3中导出导入excel文件错误的解决方法" />
据说可以先卸载32位的ACE,再安装64位的,,但也有反应说会导致其他问题,所以我就没敢试。&
(四)再安装一个32位版本的SAS
You can leave the 64-bit version
of SAS installed and also install
the&32-bit&version
of the SAS&&System for Windows
so that PROC IMPORT and PROC EXPORT work with Excel and Access
files the same as they do in SAS 9.1.3. However, the 32-bit version
is limited to 4 gigabytes of memory. Both versions can be installed
on the same machine and do not interfere with each
意思是说:为了解决这个问题,咱们可以再装一个32位的SAS,比如9.1.3什么的,没关系他们两兄弟可以在一台机器里和谐共处的。
CHA,再一个SAS,难道不要破产吗?!作为D版用户我都看不下去了。
(五)弃疗吧,少年,用CSV格式导出
经过一天的折腾,全部失败了,是该放弃治疗的时候了,我决定,以后就用CSV格式导出吧。
又可以导出不限量条数据,又可以用label参数输出中文标签,筋疲力尽的我不能指望更多了。。。
(六)日更新:采用excel5参数
生命在于折腾,终于找到一个好方法:用DBMS=EXCEL5参数,,哇咔咔,居然还能用label参数。终于完美解决。人生顿时感觉完整了。&<img src="/blog7style/images/common/sg_trans.gif" real_src ="http://js3..cn/ppp/images/emotion/base/flatter.gif" STYLE="line-height: 25.2 margin: 0 padding: 0 max-width: 640"
ALT="【转】SAS学习笔记&&64位Win7下从64位SAS&9.3中导出导入excel文件错误的解决方法"
TITLE="【转】SAS学习笔记&&64位Win7下从64位SAS&9.3中导出导入excel文件错误的解决方法" />
(七)日更新:excel5的最大行数问题
用DBMS=EXCEL5时候,需要注意excel5.0/97导出的记录行最多为16384行(相应的excel2003最多65536行,excel2007为不限制),此处可以用个小程序简单处理截取一下,每10000行导出到一个xls文件。
参见我的另一篇日志:《SAS学习笔记——超过65536行的SAS数据集导出到excel文件》&&&&
http://gaoqiancheng./.html
&&最后修改于
原文链接:http://gaoqiancheng./.html
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 redmine 问题导出 的文章

 

随机推荐