Tag: sql server

如何根据字段中的数据创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。

导入到SQL Server后,EXCELdate时间行更改为“42507”

我有一个问题,我已经导入这个Excel表到SQL Server几次,之前工作正常。 但突然有2行(date时间)与无效的数据。 在Excel中,date时间行已全部更改为2016/12/12 但是当数据被导入到SQL Server时,有些将会变成42507格式,不能使用datediff来计算。 我对此很困惑,谁能帮忙? 任何你的想法,不胜感激。 提前致谢。

SQL Server – 清除和填充Excel

我需要将数据从SQL Server 2014推送到Excel工作表中。 由于纸张不会改变,我需要先清理纸张。 我的查询是在底部。 注 – 由于这种性质,我不能简单地将数据拉到Excel中。 UPDATE似乎locking了Excel文件。 我可以多次运行插入没有问题,但更新防止进一步的操作实际上更改文件。 运行更新:成功,工作表被清除 运行INSERT: 失败 SQL执行时没有错误,但文件未被填充 码: UPDATE OPENROWSET ('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Workspace\WorkBook01.xlsx', 'SELECT col_01, col_01 FROM [Sheet1$]') SET col_01 = NULL, col_02 = NULL WHERE col_01 IS NOT NULL; INSERT INTO OPENROWSET ('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Workspace\WorkBook01.xlsx', 'SELECT col_01, col_02 FROM [Sheet1$]') SELECT col_01, col_01 FROM [dbo].[table_data]; 编辑 – […]

SQL Server:一种将Excel表格呈现到SQL Server的方法

我有50个不同的大小,列和行Excel文件。 大约400行和70列(+ -20%)。 列名称不同,行的命名也不同。 我正在寻找一种方法将所有这些乐趣都转移到SQL Server中,并在那里做东西。 例如,我想将文件从SQL Server下载到Excel,以进行更改(即使在行的标题中)并将其上传回来。 用VBA或C#。 我的问题是关于上传 – 有谁知道如何做? 你做了类似的事吗? 我应该做这样的事情吗(参见前一篇文章中的代码 – http://www.vitoshacademy.com/mssql-import-data-from-excel-to-sql-server-with-vba – 如果这样被认为是垃圾邮件我会删除它)还是有更先进的方式来做到这一点? 粗略地说,这些是我的问题: 我该怎么小心? 有什么可能的错误,我应该尽量避免? 如果你有这样的任务,你会怎么做? 例如: 3.1。 创build一个Excel表文件; 3.2。 阅读Excel文件的标题, 3.3。 用它们创build列并填写数据。 或者是其他东西? 我对这样的performance并不感兴趣,等待时间长达5秒也相当不错。 我知道这个问题太广泛了,但任何想法,将不胜感激。 谢谢!

检查2个不同列中的值是否包含匹配项

我有一个Excel文件中的2列(我从两个不同的服务器上的2个不同的SQL视图中拉出来)。 这应该包含相同的数据。 例: Name Name Adam Smith Adam Smith Billy Jones Bill Jones Colin Richards Colin Richards Dale Cooper Dal Coop 我希望能够检查每列是否包含这些名称的完全匹配或部分匹配,问题是每列有1000多个名称 我尝试过VLOOKUP,但是我不认为我在逻辑上正确。 他们有其他的方法吗? 编辑 我试过的VLOOKUP逻辑是这样的 =VLOOKUP(B2,A:A,1,TRUE) 我试图匹配列B中的第一个值来匹配列A的整个列,并显示为TRUE,那就是我累了

导出文件不是它应该是什么?

我有12个表,我使用SSIS将表导出到现有的Excel文件中。 但是excel文件中的结果与sql表不一样。 我不知道,但我认为这个问题是当我出口的原因,让我看看这个: 表值是: 在导出excel文件后显示给我这个: 这是现在最好的结果,除了第一个以外,他们都是正确的。 服务types应该是像其他人一样的“PS”,但不是?

如何使用SSIS将受密码保护的Excel工作簿导入/载入表格?

我有一个Excel文件,我必须通过SSIS包加载到SQL表格的Excel数据。 我已经尝试创build一个包,并添加了Excel连接pipe理器和Excel源码,但是Excel中显示错误,并且下拉列表中的Excel表的名称未加载… 请帮忙。 让我知道你是否需要任何进一步的信息。 谢谢!

EXCEL VBA到SQL索引和寻求

我正在导出Excel表中的数据到SQL Server数据库,如果存在UPDATE else INSERT。 以下VBA代码适用于导出到ACCESS数据库,但不适用于SQL SERVER数据库表。 出现错误消息:.Index和.Seek的属性无效使用。 请帮忙 !!! TOH Sub ExcelDataToSql () Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long Dim lastrow As Long, o As Long Set cn = New ADODB.Connection Set rs = New ADODB.Recordset cn.Open "Provider=SQLNCLI11;Server=***;Database=****;Trusted_Connection=yes;" rs.CursorLocation = adUseServer rs.Open "InventorySQL", cn, 1, 3, adCmdTableDirect ' Get Lastrow Worksheets("InventoryEXCEL").Select […]

SSIS excel生成错误

我是SSIS的初学者。 我一直在使用SSIS来生成Excel的一些问题。 我的软件包并行生成10个excel报告。使用预格式化的excel生成excel,并将该模板复制到给定位置,并在目标path上生成excel。从父包中调用该包。父包所谓的使用SQL JOB.Now问题是当我正在执行包,我面临一些挑战。所有的报告正在产生,但有时代的失败。失败并不会发生所有的报告一个或两个Excel文件生成失败。 说明:“外部表格的格式不符合预期”。 结束错误错误:2017-01-11 22:53:06.32代码:0xC020801C来源:贷款Insource数据Excel目标[73]说明:SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。 AcquireConnection方法调用连接pipe理器“Loan Insrc Data1”失败,错误代码为0xC0202009。 在此之前可能会发布错误消息,更多关于为什么AcquireConnection方法调用失败的信息。 End Error Error:2017-01-11 22:53:06.40代码:0xC004701A Source:Loan Insource Data SSIS.Pipeline描述:组件“Excel Destination”(73)未能执行预执行阶段并返回错误代码0xC020801C。 结束错误DTExec:程序包执行返回DTSER_FAILURE(1)。 开始:22:36:15完成:22:57:22已用:1267.15秒。 包执行失败。 该步骤失败。

SAP BO – 如何在每一行中每周得到1/0不同的值

我试图解决的问题是有一个SAP Business Objects查询为我计算一个variables,因为在一个大的Excel文件中计算它崩溃的过程。 我有一堆每日/每周数据的列。 我想在一个星期内得到一个名字/人物/某个标识符的第一个“1”,其余的都是“0”。 因此,例如,如果“玻璃”项目在第4周在此variables/列中第一次销售将获得“1”,并且接下来的4个销售将变为“0”。 这将允许我在一个特定的星期内销售不同物品的数量。 我知道Business Objects中有Count和Count不同的函数,但是我更希望将这个1/0系统用于整个原始数据表,因为我将它用作整个仪表板的源代码,并且有很多指标其中不同的将是部分/切片机。 我以前的做法是用Excel公式:= IF(SUMPRODUCT(($ A $ 2:$ A5000 = $ A2)*($ G $ 2:$ G5000 = $ G2))> 1,0,1) 这就做了这个诀窍,并且列A中出现在特定值范围(列A是星期)的列G中的值的第一个实例给出“1”,并且当相同的值再次出现在相同的星期值时给出“0” A列。当星期值变化时,它会再次给出“1”。 由于数据越大,每行数据中的2个单元格就会比较整个数据列,因此往往会导致崩溃。 我很难在Business Objects中效仿,我想我已经耗尽了自己的能力和Googlesearchfunction。 任何人都可以分享他们的两美分吗?