|
|
Excelファイルへのシートの追加と、シートへのデータの追加
[OS] ALL
[リリース] SAS System 9以降
[キーワード] ACCESS PC Files, LIBNAME, EXCEL engine, add sheet, append
[質問]
SASデータセットの内容を、既存のExcelファイルに新しいシートとして出力できますか。 [回答]
SAS 9.1のSAS/ACCESS Interface to PC Filesは、Excelエンジンをサポートしています。 出力方法は、Excelファイルを新規に出力する場合と同様です。次のサンプルプログラムでは、既存のExcelファイル「c:¥DATA¥book1.xls」ファイルに対して、「excalss2」というシートを追加出力しています。
/* ライブラリ参照名の割り当て */
LIBNAME ex EXCEL 'c:¥DATA¥book1.xls';
/* データの出力 */
DATA ex.exclass2 ;
SET sashelp.class;
RUN;
/* ライブラリ参照名のクリア */
LIBNAME ex CLEAR;
また、APPENDプロシジャを使用して、既存のExcelシートにデータを追加することも可能です。既存のExcelシートにデータを追加する際には、LIBNAMEステートメントで「SCANTEXT=NO」を指定する必要があります。 次のサンプルプログラムでは、「c:¥data¥book1.xls」ファイルに含まれるシート「exclass2」にデータを追加しています。
/* ライブラリの割り当て */
LIBNAME ex EXCEL 'c:¥data¥book1.xls' SCANTEXT=NO;
/* APPENDプロシジャ */
PROC APPEND BASE=ex.exclass2 DATA=llibref.data FORCE;
RUN;
/* ライブラリ参照名のクリア */
LIBNAME ex CLEAR;
上記のサンプルプログラムを実行すると、「変数の長さが一致しない」という下記のWARNINGメッセージがログに出力されますが、データは追加されます。 WARNING: 変数 Name は BASE と DATA ファイル上で長さが一致しません。 (BASE 255 DATA 8). Windows版SAS 8.2をご利用の場合は、弊社ホームページの下記FAQをご参照ください。
「Microsoft Excelへのデータの複数シート出力について」 |
|||||