Tag: sql server

从Excel连接到SQL Server用户定义的函数

我在SQL Server中创build了一个内联表值用户定义函数 我想在Excel电子表格的各个单元格中input参数,并有一个表格,当我input这些参数时,这些表格将会更新这些参数的结果。 通常情况下,我使用Microsoft Query执行此操作,但是这不允许我调用用户定义的函数。 那么我该如何创build一个odc文件,或者连接到这个函数呢? 我正在使用Excel 2010和SQL Server 2008

SSIS Excel连接pipe理器错误

我正在尝试从具有19,852行的Excel文件创build一个Excel连接pipe理器。 当我select文件和Excel工作表,然后单击确定,我得到以下错误: value does not fall within the expected range 我该如何解决这个错误? 如果您需要更多信息,请与我们联系! 谢谢

在Web应用程序中将SQL Server数据导出到Excel

我想从SQL Server中导出数据(通常我使用SqlDataReader ,但是我可以build议)到Excel / CSV文件中,并让Web应用程序的用户将其作为下载。 我想这样做的AJAX风格,所以点击下载不会导致重新加载/回发。 任何人之前做过这个或有一个想法如何?

使用单元格范围作为数据连接到SQL Server中的值

我正在使用Excel中的工具快速validation数据更新到一组数据库。 在表1中,我将获得由5列组成的源数据; 列A是主键。 它以CSV格式提供并复制/粘贴到表格中。 在工作表2中,我希望有一个到数据库机器的数据连接,用于过滤Sheet 1,Column A的值,从而只返回并显示Sheet 1中的主键。 我已经试过在连接属性对话框中设置参数,但是button被禁用: 先谢谢你。 编辑:这是Excel 2010,并且此图像显示我用于在工作表2上创build连接的方法: 编辑2:试图使用Microsoft Query来创build连接,但它仍然被禁用。

excel 2010 vba mssql help:无法获取表头(别名)

下面是我的代码,它工作正常,但我有一个小问题。 我有两张不同的纸张:第一张纸上有一个button来获取数据。 这是工作,我可以看到第二张表中的数据。 但问题是获取表头。 我的代码无法检索标题。 Sub Add_Results_Of_ADO_Recordset() 'This was set up using Microsoft ActiveX Data Components version 2.8 Dim cnt As ADODB.Connection Dim rst As ADODB.Recordset Dim stSQL As String Dim wbBook As Workbook Dim wsSheet As Worksheet Dim rnStart As Range Const stADO As String = "PROVIDER=SQLOLEDB.1;SERVER=192.168.0.300;UID=sa;PWD=sa;DATABASE=sa" 'where BI is SQL Database & AURDWDEV01 […]

刷新Excel文件,从SQL Server获取其数据与C#

我一直在寻找c#的教程来刷新一个excel文件,而无需打开excel并单击刷新button。 我find了解决scheme,这很容易。 我想分享 private void ExcelRefresh(string Filename) { try { object NullValue = System.Reflection.Missing.Value; Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); //excelApp.DisplayAlerts = false; Microsoft.Office.Interop.Excel.Workbook Workbook = excelApp.Workbooks.Open( Filename, NullValue, NullValue, NullValue, NullValue, NullValue, NullValue, NullValue, NullValue, NullValue, NullValue, NullValue, NullValue, NullValue, NullValue); Workbook.RefreshAll(); System.Threading.Thread.Sleep(20000); Workbook.Save(); Workbook.Close(false, Filename, null); excelApp.Quit(); Workbook = null; System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp); } catch(Exception ex){ […]

如何使用dynamic工作表名称导入Excel文件? (T-SQL)

我基本上设置了从T-SQL中从Excel导入到SQL的过程: SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;HDR=YES;Database=C:\report.xls','select * from [name555$]') 名字555包含一个固定的名字,而555则是一个随机的三位数字。 当报告来到我的时候,有时候这个名字是555,有时候是439,390等 有没有办法指示SQL服务器(最好在T-SQL中,因为这正是我现在使用的)dynamic读取名称? 这是XLS文件中的唯一表格,但它 例如在VBA中,您可以使用该工作表作为name1 $名称或作为“sheet1 $”索引。 那么,我希望有人可以帮助这个:)

强制在一个非常复杂的场景中刷新数据透视表

里面的详细描述 背景 我有一个带有数据透视表(“PT”)的电子表格,许多用户可以通过我公司的门户网站访问。 假设用户对Excel几乎没有任何经验,对“附加步骤”的容忍度很小甚至没有。 所以除了正常的透视操作之外的用户交互将不起作用。 我正在运行SQL Server 2008并使用存储过程来生成数据。 我必须使用存储过程,因为我需要能够从Excel传递参数(这不是理想的,但我有许多保护措施)。 时间顺序的因素/解决scheme 并发症1 一个PT不能直接连接到一个存储过程,如它可以表等 解决scheme这意味着必须先将数据导入到一个表(可以连接到一个存储过程),然后这个表将成为PT的来源。 并发症1A 当表刷新(更新数据连接)时,PT不会因为没有触发事件而自行刷新。 解决scheme :使用VBA,特别是表的工作表模块上的工作表更改事件来强制刷新PT。 这工作很好,所有工作都是100%。 并发症2 当从远程位置(Web门户)打开位于同一工作簿和此工作簿中的PT时,将看到类似“Error 1004:Source file not found”的错误。 PT试图使用工作簿的path连接到它的源,但它将临时URL看作其path。 解决scheme :不是直接使用PivotCache.Refresh刷新PT,而是使用PivotCache.Refresh ,无论出于何种原因,当前者向我提供Error 1004时实际上工作。 并发症3 所以现在我需要现在检测表中的变化,然后使用Activeworkbook.RefreshAll 。 但是,尽pipe使用Application.EnableEvents = False ,甚至设置一个布尔值,以防止在执行Activeworkbook.RefreshAll时发生更改事件,但是我得到一个无限循环。 工作表模块: Private blnAbort As Boolean Private Sub Worksheet_Change(ByVal Target As Range) If blnAbort = True Then Exit Sub blnAbort […]

Excel + TSQL(在条件下突出显示单元格的macros)

我使用SQL Server 2012数据库。 每天早上,我会得到一个新的计算结果表。 格式是 productID – countryID – 2001 – 2002 – 2003 我有2000个产品,每个在200个国家。 大约400000行。 此外,我有以前的计算相同的格式表。 我的任务是比较新旧结果,并创build一个格式输出Excel文件: 计算 – productID – countryID – 2001 – 2002 – 2003 旧 – 1 – CA – 0.02 – 0.89 – 5.3 新 – 1 – CA – 0.03 – 0.90 – 5.3 所以我按照产品和国家进行比较,每年比较一下价值。 我的问题是,我需要突出显示结果是不同的更多的2%的单元格。 有谁知道如何做的伎俩? 非常感谢。

在Excel中超时,在SSMS中立即执行

在ADODB.Connection/Recordset excel中有一个奇怪的问题。 我必须承认,我不熟悉VBA / VB6和ADO。 我在Excel中使用函数来从SQL-Server中的列返回价格。 所以我称之为标量函数。 这个函数有三个参数,只有第一个是必须的。 如果我提供第二个( datetime )参数,我得到一个timout错误。 这是完整的function,虽然我认为它不相关: Const connStr As String = "Connection-String" Private conn As ADODB.Connection Public Function GetClaimPriceByPartNumber(partNumber As String, Optional claimSubmittedDateEnd As String = "", Optional currencyName As String = "EUR") As String If conn Is Nothing Then Set conn = New ADODB.Connection conn.ConnectionString = connStr End […]