0

我有 sql 脚本“example.sql”:SPOOL &1 Select '<.TR>'||'<.TD align="left">'||column_name||'<./TD>'||'<.TR>' from table1; spool off..它将其内容转储到 cshell 脚本“getdata.csh”这就是我如何从 sql 脚本中获取数据到 csh 脚本中sqlplus $ORA_UID/$ORA_PSWD @${SQL}example.sql ${DATA}${ext},一旦我从中提取数据我通过组合 3 个文件头创建一个 excel 文件. html <html> <.head> <.title) Title <./title> <./head> <.body> <.table > <.tr> <.th>Column Name<./th> <.tr>ext 文件,其中包含查询结果和 trail.html <./tr> <./table> <./body> <./html>,我将此文件保存为 .xls 并通过电子邮件作为附件发送。现在我的问题是 Column_name 的数据以 0 开头,但是当我打开 excel 文件时,前导 0 消失了,但是我想保留那个 0 .. 那么我可以添加什么来确保电子邮件附加的 excel 文件在另一侧打开时将具有前导 0 .. 请任何帮助都会很好

4

4 回答 4

0

我过去处理过这个问题,这个问题严格来说是 Excel 格式的一个“特性”。不幸的是,我没有资源来完全测试答案,但是您可以尝试以下两件事。

  1. 在你的 cshell 脚本中添加一个步骤,用 ="" 包围你的 $1 值,

awk '{$1= "=\"" $1 "\""; 打印 $0}' inFile > outFile

缺点是您现在告诉 Excel 将这些值视为字符串。如果您对这些值进行任何花哨的计算,您可能会遇到不同的问题。

  1. #2(为什么 SO 格式总是将编号的块重新编号为 1 !;-!)。由于这确实是一个 Excel 格式问题,并且在我的回忆中,一旦打开并处理了文件,您就无法检索前导零,我似乎记得我有一个预先格式化黑色工作表的技巧,将其保存为模板,然后将文件加载到模板中。我记得这也很棘手,所以不要指望它会起作用。如果上面的 #1 不起作用,您可能需要咨询 Excel 用户以了解最佳策略。

如果您向他们寻求帮助,您可能还想告诉人们您使用的是哪个版本的 Excel。

我希望这有帮助。

PS,因为您似乎是新用户,如果您得到对您有帮助的答案,请记住将其标记为已接受,和/或给它一个 +(或 -)作为有用的答案

于 2011-03-29T22:05:30.293 回答
0

使用甲骨文:

假设您的属性称为“数字”

select '0' || to_char(number) as number
from table mytable
于 2011-03-29T18:37:08.947 回答
0

使用 excel 对象模型或宏进入 excel 文件抓取列并更改格式。

在你的情况下:

Range("A1").Numberformat = "@"
于 2011-03-29T18:37:57.653 回答
0

如果您正在动态生成 excel 文件,您可以在这些数字前面加上撇号,即 '

这会导致 Excel 将数字视为字符串。唯一的缺点是,如果工作表有任何使用这些数字的方程,它可能会导致一些副作用。

于 2011-03-29T18:38:15.267 回答