Sql server SQL Server 2005 OPENROWSET插入Excel-文本到数字格式
所以这并不是什么大问题,但谷歌没有返回任何最近的信息,主要是2007年左右,可能是Excel驱动程序的问题……我来这里问这个问题,因为如果没有进一步的研究,我发现答案是不可接受的 我的问题是: 编写动态OPENROWSET查询清除并插入新数据以向特定用户发送报告-基本excel报告包含一些公式,其中它根据插入的数据进行计算和求和,乘法公式似乎工作正常,但除非总数在Excel中以数字而不是文本格式正确格式化,否则总和将无法正常工作 解决方案必须是基于自由形式的。如果有解决方案,我不想将所有代码传输到SSIS 更新/插入代码:Sql server SQL Server 2005 OPENROWSET插入Excel-文本到数字格式,sql-server,excel,formatting,openrowset,Sql Server,Excel,Formatting,Openrowset,所以这并不是什么大问题,但谷歌没有返回任何最近的信息,主要是2007年左右,可能是Excel驱动程序的问题……我来这里问这个问题,因为如果没有进一步的研究,我发现答案是不可接受的 我的问题是: 编写动态OPENROWSET查询清除并插入新数据以向特定用户发送报告-基本excel报告包含一些公式,其中它根据插入的数据进行计算和求和,乘法公式似乎工作正常,但除非总数在Excel中以数字而不是文本格式正确格式化,否则总和将无法正常工作 解决方案必须是基于自由形式的。如果有解决方案,我不想将所有代码传输
SELECT @sqlu = 'UPDATE OPENROWSET(' +
'''Microsoft.ACE.OLEDB.12.0'', ' +
'''Excel 12.0;Database=' + @File + ';HDR=YES'', ' +
'''SELECT * FROM [Base$B1:G601]'')
SET
col1 = '''', col2 = '''', col3 = '''', col4 = '''', col5 = '''', col6 = '''' '
EXEC (@sqlu)
SELECT @sqli = 'INSERT INTO OPENROWSET(' +
'''Microsoft.ACE.OLEDB.12.0'', ' +
'''Excel 12.0;Database=' + @File + ';HDR=NO'', ' +
'''SELECT * FROM [Base$B1:G2]'')
SELECT col1, col2, col3, col4, col5, col6
FROM [DATABASE].[dbo].tbl_CIM
WHERE col1 IN(''' + @area + ''')'
EXEC (@sqli)
第二个问题,现在可能不是问题,但稍后-在插入之后,它似乎在结果周围创建边界。在结果转移过程中,是否有一种可能的方法来删除这些内容
如果这是一个驱动程序问题,我非常感谢您提供的任何帮助或资源,因为我找不到任何帮助或资源。我所知道的唯一方法是在您正在写入的Excel工作表中创建一个虚拟数据行。 将伪数据以您希望导出数据的格式放入此行。如果需要,可以隐藏此行 这应该可以解决这两个问题,但是您必须处理伪行,如果您正在使用数据透视表的数据,这可能会很烦人。您是否尝试将IMEX=1添加到连接字符串中?它应该强制驱动程序将列中的所有内容作为文本提供给您,而不管它们的解释格式如何 这里有一个使用它的连接字符串的完整示例