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へのデータの複数シート出力について」 |