如何根据字段中的数据创build基于几种不同方式之一格式化字段的Excel电子表格

我有一个SQL视图,我正在为我的老板的老板的老板吐出一些重要的信息。 该视图包含一个名为“项目ID”的字段,该字段可以有多种不同的格式。

下面是一些例子(可能或许不是为了保护无辜):
ATS-LC-PLN-RT-RH-0.3125-18-3X2.125X1.5-1
012345.012345
01234567.0123
123456789012
000000.000000
000000.000002

我想采取的观点,并使用它(最终)生成一个Excel电子表格,但我不确信有一种方式来格式化这个列的方式,将适用于所有这些不同的项目ID。 当用Excel来玩时,这些数字将会落后于零,并切换到科学记数法等等。 我只需要以保留项目ID的方式格式化此列。

如果您知道以某种方式以编程方式创buildExcel电子表格的方式,该方式允许我根据单元格中的数据分配格式,那么效果会很好。 我主要面临的问题是,这个电子表格自然有几百行,很快就会变成数千行,而且没有可行的方法来每天或每周一次手动格式化这些行。

我已经通过Microsoft Office Standard 2013获得了SQL-Server 2014和Excel,这可能会提供更多的select。

允许我提出另一种方法来构思你的问题。 我不认为你真的想要分析(手动或编程)每个项目ID,并确定它是否是一个整数,小数或字母数字文本。 由于您的商品ID数据有所不同,因此唯一适用于您所有情况的Excel格式是“文本”。 所以我的build议是寻找一种方法来自动将数据导出到Excel中,同时确保Excel中的格式设置为“文本”,以便所有单元格包含您的项目标识数据。 如您所注意到的,如果您在Excel中粘贴数据,如果目标单元格不是首先设置为“文本”格式,则Excel将对每个粘贴值进行自己的“更正”,包括删除前导零和尾随零。

最好的解决scheme是使用SQL Server Reporting Services(SSRS)。 您可以在SSRS中设置字段格式,然后(如果您select)通过使用&rs:Format=excel通过URL调用报表服务器来自动将数据导出到Excel。 (有SSRS的学习曲线,但如果你打算继续这样做,这将是值得的。)

其他选项

最简单的手动选项是1)将数据导出为.csv格式,2)打开Excel并使用文本导入向导,在步骤3中确保单击数据列,然后select“文本”作为数据格式。 (你可以用Excel VBAmacros自动化这个。)

最复杂的方法是使用Excel VBA和ADO进行编程,以自动连接和查询数据库视图中的数据,然后将该数据呈现到电子表格,使用VBA将格式设置为“文本”。