2
|
SherlockSpreadsheets · 技术社区 · 6 年前 |
![]() |
1
1
然后,在SSIS进程之外为最终用户设置一个Excel电子表格,从时态表查询中提取数据。由于时态表查询的性质,它们上的默认段/窗口总是“最新的”(不管它是为时态表定义的……)。
如果您可以使用SQL Server 2016+,请研究时态表和查询。听起来他们会帮你做你想做的事。
Excel通常不是一个很好的工具,用于自动数据分析过程。它主要是一个用户终端工具。 如果需要这样做,有很多Powershell脚本可以“驱动”Excel(通过COM Interop)。这使得从SSIS调用的Powershell进程在Powershell进程结束时负责拆除COM对象。 在服务器上通过COM互操作自动化Excel有可能导致无法完全退出Excel,这将导致大量Excel僵尸进程占用资源。这样就剩下设置另一个进程周期性地杀死一个Excel僵尸进程(如果你不能在Excel之后完全清除[sic],网络上也有一些例子说明了如何做到这一点。 如果您必须从服务器进程(SSIS将是…)创建Excel文件,我过去在SSIS中使用带有Powershell脚本的EPPlus.Net DLL取得了成功。Powershell获取数据,然后调用EPPlus将数据直接写入Excel文件(.xlsx),不需要Excel.exe或与之交互(读书也有用)。 “NPOI.dll”库是Java“POI”库的.Net端口,它还可以写入“Excel.Old”(.xls)文件以及.xlsx文件。它的工作原理与EPPlus类似。
|
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 5 月前 |
![]() |
Marc Guillot · 记录值时忽略冲突 5 月前 |
![]() |
Fachry Dzaky · 正确使用ROW_NUMBER 6 月前 |
![]() |
TriumphTruth · 从满足特定条件的数据集中选择1行 6 月前 |