Tag: sql

在工作表范围内定义名称的表名是什么?

我正在尝试使用ODBC查询工作表范围中使用SQL定义的名称。 我已经知道这个工作: SELECT * FROM [worksheet1$] — Query a whole worksheet SELECT * FROM [worksheet1$A1:C10] — Query A1:C10 of a worksheet SELECT * FROM myname — Query a workbook scoped defined name 请注意, myname是工作簿作用域,而不是工作表作用域。 我会期望像Excel公式中的东西一样适用于ODBC表名: SELECT * FROM worksheet1!myname — Query a worksheet scoped defined name 然而,这不起作用,我尝试了一些这样的语法变化。 这是可能的,如果是,使用什么语法? 对于Delphi开发人员的注意事项: A1:C10语法在TADOQuery造成麻烦,必须将ParamCheck设置为False才能使其工作。 更新: 我正在使用Microsoft Office 2007附带的Microsoft Excel […]

将Excel电子表格导入SQL数据库(Coldfusion 9)

我正在编写一个脚本来导入一个大型的excel spreadhseet到一个SQL Server 2008数据库。 除了一个小细节之外,一切工作正常。 如果工作表中的单元格有多个选项(如<select>下拉菜单),则只会抓取选定的选项。 我想抓住单元所有可能的选项,而不仅仅是正在使用的选项(请参阅我的SQL查询为什么) 我search谷歌和S / O的答案,但我还没有遇到这种特殊情况的解决scheme。 这里是我正在使用的电子表格函数的链接 。 我不能向你展示excel表格,但假设表格的遍历是正确的(我已经testing过了)。 这是我的代码: <cfspreadsheet action="read" src="spreadsheet.xlsx" name="sheet"> <cfoutput> #sheet.rowcount-3# <cfloop from="2" to="#sheet.rowcount-3#" index="row"> <cfquery datasource="Questions" result="rState"> INSERT INTO States ( State, StateAbbr ) VALUES ( <cfqueryparam cfsqltype="cf_sql_varchar" value="#SpreadsheetGetCellValue(sheet,row,1)#">, <cfqueryparam cfsqltype="cf_sql_varchar" value="#SpreadsheetGetCellValue(sheet,row,2)#"> ) </cfquery> #SpreadsheetGetCellValue(sheet,row,1)#<br /> #SpreadsheetGetCellValue(sheet,row,2)#<br /> <cfloop from="3" to="15" index="col"> <!— multi row […]

将SQL查询结果导出到CSV

我正在使用sqlcmd将两列的查询结果导出到csv。 简单的查询是: SELECT DISTINCT CustomerGuid, CustomerPassword FROM ServiceOrder ORDER BY CustomerGuid 当我在Excel中打开导出的csv时,客户和密码都在同一列上。 是否有可能使用sqlcmd将它们分成自己的列。 我的sqlcmd看起来像 SQLCMD -S . -d BAS -Q "SQL STATEMENT" -s "," -o "c:\data.csv" 谢谢。

在csv文件中获取列名

在创build一个CSV文件,并想知道如何获得第一行的列名。 现在我认为它试图回显列名称,但得到0'nulls。 我也想知道是否有可能把每个单元格中的每个值,我可以在Excel中手动执行,但这很麻烦。 这是代码: $result=sqlsrv_query($conn,$sql) or die("Couldn't execute query:<br>" . sqlsrv_error(). "<br>" . sqlsrv_errno()); $file_ending = "csv"; $reals=array(); //header info for browser header("Content-Type: application/csv"); header("Content-Disposition: attachment; filename=test.csv"); header("Pragma: no-cache"); header("Expires: 0"); /*******Start of Formatting for Excel*******/ //define separator (defines columns in excel & tabs in word) $sep = "\t"; //tabbed character $i=0; foreach( sqlsrv_field_metadata( $result […]

在SQL Server 2008中使用Excelmacros创build临时表(ADODB)

大量的谷歌search后,我已经结束了以下macros,我希望将连接到数据库,删除任何现有的临时表,然后创build一个新的(填充它,并查看结果)。 Dim adoCn As ADODB.Connection Dim adoRs As ADODB.Recordset Dim adoCm As ADODB.Command Dim strSQL As String Set adoCn = New ADODB.Connection With adoCn .ConnectionString = "Provider=SQLOLEDB;" & _ "Initial_Catalog=XXX;" & _ "Integrated Security=SSPI;" & _ "Persist Security Info=True;" & _ "Data Source=XXX;" & _ "Extended Properties='IMEX=1'" .CursorLocation = adUseServer .Open End With Set adoCm […]

VBA中date之间的SQL查询

我有一个问题,使用Excel和Access数据库在VBA中进行SQL查询。 在mi VBA代码中,我有两个数据variables与这个内容: DateMin = 31/07/2014 22:00:00 DateMax = 01/08/2014 06:00:00 我有一个访问数据库与许多数据与date字段。 我试图从数据库中提取数据与我的两个variables之间的date,我编码: sql = "SELECT Date FROM Table WHERE Date BETWEEN #" & DateMin & "# AND #" & DateMax & "# 但不起作用。 结果不正确,date不在我的两个date之间。 但是,如果我改变这个句子并编码 sql = "SELECT Date FROM Table WHERE Date > #" & DateMin & "# 有用! 给date比DateMin更高的数据,但我没有DateMax来阻止它。 我认为这个问题是在我的第一个代码的第二部分,因为如果我编码 sql = […]

如何插入logging到SQL查找值?

脚本 我需要通过电子表格每日更新SQL 2008数据库(唯一可用的选项)。 格式是非常基本的,但是可能有数百万条logging。 Column1和Column3将有许多预定义的重复值,已经拉出到单独的表。 电子表格样本 Column1 Column2 Column3 Apple 10 Red Apple 20 Red Apple 15 Blue Apple 21 Green Orange 10 Orange Orange 7 Orange Orange 9 Red Orange 70 Blue Orange 10 Blue 数据库设置 我的数据库设置了三个独立的表格: //Lookup_Column1 id type 1 Apple 2 Orange //Lookup_Column3 id type 1 Red 2 Blue 3 Green 4 […]

如何获得Excel的date作为一个date而不是一个string时做CopyFromRecordset

我有一个来自SQL Server的SQL查询,它以格式“YYYY-MM-DD”的forms返回date。 如果我将这种格式的dateinput到单元格中,则会将其识别为date。 但是,当我用CopyFromRecordset填充工作表时,它似乎被视为一个string。 任何使用单元格的公式都会先将其转换为date。 例如,如果我的date是在列A中,而且我创build了一个填充公式= A1 + 0的新列B,那么该公式将返回我的date作为date。 问题:我使用Recordset数据做了一些事情,其中​​一个是数据透视表。 数据透视表没有看到我的date为date。 例如,我不能将它们分组为date。 我的黑客是做一个新的列,这基本上是= A1 + 0我要改变我的macros来自动添加一个零,但我想知道是否有办法从CopyFromRecordset执行的那一刻起。

使用ADODB连接从closures的工作簿中检索数据。 有些数据被跳过?

我目前正在编写一些代码,可以通过ADODB连接访问单独的工作簿。 我select这个而不是其他方法,因为速度。 这里是我的代码如下: Sub GetWorksheetData(strSourceFile As String, strSQL As String, TargetCell As range) Dim cn As ADODB.Connection, rs As ADODB.Recordset, f As Integer, r As Long If TargetCell Is Nothing Then Exit Sub Set cn = New ADODB.Connection On Error Resume Next cn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DriverId=790;ReadOnly=True;" & _ "DBQ=" & strSourceFile & ";" ' […]

Excel中OLAP SSAS Cube Pivot Tables的替代scheme

我正在使用Excel 2007数据透视表访问2005 SQL Server上的OLAP SSAS多维数据集,并发现刷新某些表需要超过10分钟。 我的同事似乎认为这是一个可悲的现实,但我想知道是否有其他select,我应该看看。 我有一些想法: 显然,如果我可以升级服务器硬件,但我只是一个没有这种能力的分析师,所以我不认为硬件改进是一个很好的select。 迁移到一个更新的SQL服务器也是如此,我想这也会加快这个过程。 更新到更新版本的Excel会加快这个过程吗? 我遇到了这个问题: http : //olappivotextendtend.codeplex.com/ ,它让我能够访问MDX,这显然是无效的(听起来像VBA的macroslogging器),所以将改变MDX(我知道一点点,它给了数据透视表的查询似乎并不复杂)是一个选项? 在excel之外运行MDX是一个select吗? 我可以写查询,但我想它不会像数据透视表一样简单。 看起来OLAP Cubes在许多方面都是一个很好的解决scheme,而这些是一些大规模的数据透视表处理相当多的信息,但如果有一个合理的方法来加速整个过程,我想知道更多关于它。 感谢您的想法。