【问题标题】:SAS: PROC EXPORT adds a "_" in the Excel sheet name but the _ is not there in SAS?SAS:PROC EXPORT 在 Excel 工作表名称中添加“_”,但 _ 在 SAS 中不存在?
【发布时间】:2016-06-28 10:41:29
【问题描述】:

我有以下导出到 .xls 文件的 SAS 代码。 (注意:我需要 OLD 1997-2003 格式)。

我将工作表名称指定为:'PB Organization'

但在创建文件时,工作表名称为“PB_Organization”

已添加“_”。发生了什么?

PS:文件包含正确的列和行,只是工作表名称错误。

%let Path_Org = "\\Folder\CurrentMonth - PB Organization"; 
proc export data=pb_org2
   outfile = &Path_Org 
   dbms=xls replace;
   sheet = 'PB Organization';
run;

【问题讨论】:

  • 您使用的是哪个版本的 SAS?运行 SAS 的机器上是否有 Excel?如果是这样,您是否尝试使用其他 DBMS 值(如 EXCEL)将使用 Excel 创建 XLS 文件而不是尝试直接创建它?您是否尝试更改 VALIDMEMNAME 系统选项的设置?
  • 我使用 SAS 9.4 BASE。我有 Excel 2010。
  • 但挑战在于我使用 Access2003 链接到 xls.file,这就是为什么我需要旧的 excel 格式。
  • 我现在可以看到,如果我只是打开 excel 文件并按保存,那么 Access 可以链接到它。它不能没有手动程序。但是SAS生成的excel文件是.xls(1997-2003版本)

标签: sas export-to-excel excel-2003


【解决方案1】:

来自 SAS 文档:

SHEET=工作表名称

标识 Excel 工作簿中的特定电子表格。仅当您要导入整个电子表格时才使用 SHEET= 选项。 如果 EXPORT 过程 sheet-name 包含特殊字符(例如空格),SAS 会将其转换为下划线

空格转换为下划线。 “员工信息”变为“员工信息”

参见此处http://support.sas.com/documentation/cdl/en/acpcref/63184/HTML/default/viewer.htm#a003103761.htm

【讨论】:

  • 你是对的,但我仍然有 Access 不接受文件的问题,除非我手动进入文件并按保存。即使文件已经说它是 .xls (1997-2003)
  • 如果是,请将您的代码替换为 dbms=xlsx replace; sheet = "PB 组织";你不会得到下划线。
  • 我无法使用 .xlsx,因为我使用的是旧版本的 MS Access。 :(
  • 你可以使用 CSV,这会给你更多的灵活性。
  • 我现在尝试导出为 csv 格式,然后从 Access 链接到该文件。那行得通!通过跳过旧的 .xls 格式,我避免了命名和 excel 版本等所有问题。所以感谢您的提示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多