数据表放入Excel,列中的行显示为“存储为文本的数字”

时间:2018-02-08 18:58:11

标签: c# sql excel

我首先要感谢能够帮助我解决这个问题的任何人和每个人。我的搜索没有为这个特定问题返回任何内容....

我有一个运行存储过程的c#应用程序,并将结果导出到Excel文件。但是,报告中的一列应该是一个Integer,但是作为文本被复制到excel。

我的查询计算此列的部分如下:

(str(100.0 * cast((y.NumReferrals) as INT)/cast((x.numCustomers) as INT), 6,2)) AS "Percentage"

我在那里添加了CAST,希望它可以解决问题,但似乎我需要在C#中进行修复。谁能帮助我指出正确的方向?我不知道如何在C#中针对此类问题进行此转换。

谢谢!

1 个答案:

答案 0 :(得分:1)

感谢上面评论过的Dan Wilson,我再次看了一下我正在使用的内置函数并得出了这个结论:

Cast(ROUND(100.0 * (y.NumReferrals)/(x.numCustomers),3,2) as decimal(6,2)) AS "Percentage"

似乎工作!我确定有一个更好的方法可以解决这个问题,但这是我能够让它工作的方式所以我会继续这样做,直到其他人可以提供更好的洞察力。

谢谢!