Tag: sql server 2008

数据透视表中的SQL数据导入错误的数据types

使用Excel 2013 Standard和SQL Server 2008 R2。 我用这个连接创build了一个数据透视表: DRIVER=SQL Server Native Client 10.0;SERVER=sqlserver; UID=xxx;PWD=yyy;APP=Microsoft Office 2013; WSID=CVH2014021;DATABASE=VH_Datawarehouse; SELECT [Klantnummer] ,cast([Faktuurdatum] as datetime) as 'Faktuurdatum' ,[Grootboek_Transactie] ,[Grootboek_BTW] ,[Kostenplaats_Transactie] ,[LitersGetankt] ,[Netto_Euro_bedrag] ,[BTW_Euro_bedrag] FROM [VH_Datawarehouse].[dbo].[ds_Selectie_Aanlevering_Tankgegevens] WHERE (Faktuurdatum >= dateadd(dd,-120,getdate())) and GegevensBron = 'Shell' Grootboek_Transactie / Grootboek_BTW / Kostenplaats_Transactie列都是int字段,但在Excel中它们显示为货币字段。 我可以将Excel中的列更改为“标准”或“值”,但在刷新连接后,列将变回货币值。 我将驱动程序名称从SQL Server更改为SQL Server Native Client 10.0,因为这可能会产生影响,但是我的date时间字段Faktuurdatum显示为货币。 我怎样才能解决这个问题。 作为货币部分的值被解决。 它也适用于date部分,但Excel不会将其视为date,而是视为文本。

Excel剥离视图中的前导零

我有一个SQL Server视图,我拉进了一个Excelmacros工作簿。 但是,其中一个date字段被视为excel的数字,它的前导0被剥离。 是否有一个数据types,我可以将我的date字段转换为SQL,以便当视图导入到工作簿时,Excel不会剥离它的前导零?

从GridView导出到Excel不正确地显示波斯语

绑定GridView的SqlDataSource,我写下面的代码从GridView导出到Excel: System.IO.StringWriter sw = new System.IO.StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "attachment;filename=" + FileName); gvReportPrint.GridLines = GridLines.Both; gvReportPrint.Font.Name = "'BYekan'"; foreach (GridViewRow row in gvReportPrint.Rows) { row.Cells[2].Attributes.Add("class", "textmode"); } string style = @"<style> .textmode { mso-number-format:\@; } </style>"; gvReportPrint.HeaderStyle.Font.Bold = true; Response.Write(style); gvReportPrint.RenderControl(hw); Response.Output.Write(sw.ToString()); Response.End(); 在从GridView导出到Excel的过程中,unicode字符不能正确显示,它们显示如下: – >单击此链接显示问题< –

VBA传递date参数到SQL Server存储过程

我面临一个date参数从EXCEL VBA代码传递到SQL Server存储过程的问题。 存储过程采用两个date参数@FromDate和@ToDate 。 从Excel我想执行此过程与从单元格中获取的date值。 问题在于,从单元格到过程的date是以"dd/mm/yyyy"的格式传递的,而不pipe我在Excel单元格中做什么格式更改。 而SQL过程则接受"yyyy-mm-dd"或"yyyy-mon-dd"或"yyyy/mm/dd"或"dd-mon-yyyy"格式。 该过程抛出一个错误: “从date和/或时间转换date和/或时间从string转换失败”date从Excel中传递(格式“dd / mm / yyyy” 我使用的vba代码是(参考https://www.mssqltips.com/sqlservert…to-sql-server/ ) Private Sub CommandButton1_Click() Dim FromDate As Date Dim ToDate As Date FromDate = Format(Sheets("Sheet1").Range("B1").Value, "yyyy-mm-dd") 'Pass value from cell B1 to SellStartDate variable ToDate = Format(Sheets("Sheet1").Range("B2").Value, "yyyy-mm-dd") 'Pass value from cell B2 to SellEndDate variable MsgBox FromDate MsgBox ToDate […]

如何将SQL查询导出到Excel文件尚不存在的Excel?

我做了一个深入的search,似乎无法find答案。 我想将SQL查询导出到Excel并将其返回(Excel)到客户端应用程序或我的Web服务。 (考虑类似于FOR XML概念,而是返回二进制Excel数据) 我testing了这个(经过一个漫长的斗争),它终于正常工作: INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:\1.xls;', 'SELECT * FROM [Sheet1$]') SELECT TOP 5 ID, ItemName FROM dbo.MyItems 并返回给客户: SELECT * FROM OPENROWSET(BULK N'D:\1.xls', SINGLE_BLOB) rs 但是,文件D:\1.xls必须在高级中已经存在 。 我已经阅读了这个接受的答案: T-SQL:导出到新的Excel文件 4如果您不想提前创buildEXCEL文件并想要将数据导出到其中,请使用EXEC sp_makewebtask sp_makewebtask已弃用。 有没有办法,我可以做这个任务,没有一个已经存在的文件? 或者至less在导出之前dynamic创build一个合适的文件? 甚至更好: 根本不使用任何文件 ? 谢谢。

Excel使用t-sql导出问题

我有Windows 10和Office 2007.如何使用t-sql导出excel。 请提供一步一步的解决scheme。 我正在使用Openrowset命令。 但是它给出了以下错误: 无法处理对象“SELECT * FROM [ProductList $]”。 链接服务器“(null)”的OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”表示该对象没有列,或者当前用户没有该对象的权限。

从连接到多维数据集的Excel数据透视表中删除date中的时间戳

所以我有一个在Analysis Services 2008 R2中创build的多维数据集。 多维数据集在非时间维度上有一些date。 当我将date放在Excel数据透视表中的filter上时,它总是将date设置为例如01/18/2012 00:00:00.000。 是否有可能从中排除时间戳? 我尝试在Excel中使用格式单元格,但它没有做任何事情。 我也尝试从源(源是从SQL Server数据库视图)从date时间转换到date使用Convert(date,fieldWithDateInfo),并删除时间戳,但然后Excel将字段视为string,然后filter开始行事真的很时髦。 有什么build议么?

检测来自Excel的varchar列中的值0x

我有一个SQL表格,从Excel中通过SQLBulkCopy填充。 副本是使用Microsoft ACE驱动程序完成的。 我有一个特定的文件的问题 – 当它被加载到SQL,一些列(在Excel中显示为空)包含一个奇怪的值。 例如,运行这个sql: SELECT CONVERT(VARBINARY(10),MyCol), LEN(MyCol) FROM MyTab 会返回 0x, 0 即 – 将列中的值转换为varbinary显示的东西,但做长度的varchar显示没有长度。 我意识到,所显示的值是hex值的词干,但其奇怪的是它到达那里,以及检测有多困难。 很明显,我可以清除Excel中的单元格,但是我真的需要自动检测,因为最终用户会遇到同样的问题。 当数据得到处理时,会导致问题进一步恶化。 这个问题很难从最终的症状中追溯到源头上的这个问题。 除了上面的转换到varbinary到SSMS输出,我还没有想出一种方法来检测这些值,在Excel中或通过SQL脚本来删除它们。 有任何想法吗?

dynamicCREATE TABLE命令只创build“通用”列数据types(Excel连接)

我想将DB中的所有表导出为Excel文件。 这个过程应该是dynamic的,因为DB中的表格可能会有所不同。 目前的过程是使用SSIS如下: 生成一个CREATE TABLEstring。 在Excel CM中Execute Sql任务时使用该string,该CM创buildExcel文件。 生成一个INSERT INTO OPENROWSET… SELECT FROM …命令string。 在SQL SERVER CM的Execute Sql Task中使用这个string。 问题是,创build的Excel文件列types都是“一般”,即使我的脚本另有说明。 一个示例CREATE TABLE脚本: CREATE TABLE `CONTACT1` ( [ACCOUNTNO] LongText, [COMPANY] LongText, [CREATEON] datetime, [CREATEAT] LongText, ) 用数据types“玩”没有帮助。 例如,使用VARCHAR(1000)而不是LongText等 我试着生成xlsx和xls文件。 这个问题阻止了我以后插入数据时使用*INSERT INTO OPENROWSET(…) SELECT FROM …*命令。 一个示例INSERT INTO脚本: INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=c:\\junk \\accountnoWithNoApps.xlsx;HDR=YES;IMEX=1\"', 'SELECT [accountno], [COMPANY], [CREATEON], […]

SQL Server中的分布式查询,来自XLS的数据

我想在SQL Server 2008中创build一个显示Excel文件中包含的数据的视图。 我不想在更新这些数据时使用导入数据。 我发现这个: http : //support.microsoft.com/kb/321686/en 我做了这些命令来启用一些选项: sp_configure 'show advanced options', 1 RECONFIGURE GO sp_configure 'ad hoc distributed queries', 1 RECONFIGURE GO 但是当我试图用这个查询读取Excel文件时: SELECT * FROM INTO XLImport3 OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\Documents and Settings\jconnor\Desktop\Test.xlsx') … [Sheet1$] 我回来了(这是从法语翻译): 链接服务器“(null)”的OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”返回了“未指定的错误”消息。 消息7303,级别16,状态1,行1无法初始化对象数据源OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”为链接的服务器“(空)”。 有人有任何线索吗? 先谢谢你