Excel 导出时截断SAS

Excel 导出时截断SAS,excel,sas,Excel,Sas,我有一个SAS数据集,第一列是20位的客户帐户ID。 我需要将表的输出写入excel文件。当我写入excel文件时,帐户ID被截断,最后几个数字变为零 请帮忙。我需要写在excel格式和文本列格式 这取决于Excel如何表示数字数据。将文件从SAS导出为CSV,然后将其导入Excel。选择ID字段的列类型时,请选择“文本”。您可以使用ODS HTML将数据导出到Excel,使用.xls扩展名而不是.htm-内容仍然是HTML,但Excel会将其解释为一个漂亮的表格。然后,如果愿意,您可以应用通常

我有一个SAS数据集,第一列是20位的客户帐户ID。 我需要将表的输出写入excel文件。当我写入excel文件时,帐户ID被截断,最后几个数字变为零


请帮忙。我需要写在excel格式和文本列格式

这取决于Excel如何表示数字数据。将文件从SAS导出为CSV,然后将其导入Excel。选择ID字段的列类型时,请选择“文本”。

您可以使用ODS HTML将数据导出到Excel,使用.xls扩展名而不是.htm-内容仍然是HTML,但Excel会将其解释为一个漂亮的表格。然后,如果愿意,您可以应用通常的ODS样式、标题等

例如:

data dummy ; do d = 1 to 20 ; longnum = put(ranuni(0)*(10**20),z20.) ; output ; end ; run ; ods html body="c:\temp\LongNumbers.xls" ; proc report data=dummy nowd ; define longnum / style={tagattr="style='mso-number-format:""\@""'"} ; run ; ods html close ; 数据虚拟; do d=1至20; longnum=put(ranuni(0)*(10**20),z20.); 产出; 结束; 跑 ods html body=“c:\temp\LongNumbers.xls”; 过程报告数据=虚拟nowd; 定义longnum/style={tagattr=“style='mso-number-format:”“\@”“”}; 跑 ods html关闭; 可以使用更多的
mso编号格式
值:

纯文本:mso编号格式:\@
  • 将数字格式设置为小数点后2位:mso数字格式:“0\.00”
  • 小数点后两位的逗号分隔符:mso数字格式:\\\\,\\\\\\\\\\\\\\\\\\\.00
  • 日期\时间格式化:
    • 美国日期:mso编号格式:mm\/dd\/yy
    • 月份名称:mso编号格式:d\\-mmm\\-yyyy
    • 日期和时间:mso编号格式:d\/m\/yyyy\h\:mm\AM\/PM
    • 短日期:mso编号格式:“短日期”(2011年6月5日)
    • 中期日期:mso编号格式:“中期日期”(2011年1月10日)
    • 短时间:mso编号格式:“短时间”(8:67)
    • 中时:mso编号格式:“中时”(上午8:67)
    • 长时间:mso编号格式:“长时间”(8:67:25:00)
  • 百分比:mso编号格式:百分比(小数点后两位)
  • 科学记数法:mso编号格式:“0\.E+00”
  • 分数-最多3位:mso编号格式:“\ \ \?\/?”
  • 货币(12.76英镑):mso编号格式:“\0022\0022\\\,\\\\\ 0\.00”
  • 2位小数,红色负数和有符号:mso数字格式:“\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  • 会计格式–5,(5):mso编号格式:“0\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.00\\)\\\[黑色\\]\\\\(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\