回答

收藏

使用SSIS导出数据Excel文件

技术问答 技术问答 197 人阅读 | 0 人回复 | 2023-09-14

我有SSIS包,数据可以从表导出到Excel文件) i0 b* `" y/ a: w; \% T
这是我的步骤:+ k0 e6 y0 o$ @5 Y" S4 _0 {
[ol]删除Excel表
2 m/ R/ ], i- g' D! |8 T. o创建具有我选择查询格式的格式Excel该表格用于从数据库中检索数据
4 ?+ B% O4 ~4 H! P' e" @5 C从数据库中插入数据Excel文件[/ol]我用过像查询 Select * From Table Where --Some Condition# f$ M5 Q+ P' i3 Z: M/ d
我从10000行中检索出3000行,并把这3000行放在我身上Excel工作表中。" _) l( _7 r, v
但是,打开我的Excel在工作表上,我看到滚动条延伸到第1万行,结束了,所以我Excel工作表的大小也增加了。我怎样才能减少我?Excel工作表尺寸?Excel工作表只有3000行,那为什么要一直到第1000行的空白单元格呢?
4 a* u6 Q1 l6 X* b+ [
具有BIDS的SQL Server 2008和Visual Studio 20083 V/ p& ^  z( v0 t% y2 j
                                                                2 n2 S0 _. i9 \+ e  F
    解决方案:                                                                " P- p, {0 I( ?" G$ p9 b
                                                                我相信你的问题与你创建文件的方法有关。你有两种选择,两者都可以解决你的问题:
+ o, D% q2 A/ w, @( W+ {8 Z6 o解决方案1:2 W; s  ^( ~, N8 l; G- l
您可以使用这些预定义列来创建一个Excel文件实际上是您的空输出文件-这将是您的模板文件。您的流程将如下:% e# D; u7 e; D" Q' {) M% P
[ol]文件系统任务-将模板文件复制到输出或工作目录(必要时重命名)8 D, j' W, R# g) k
OLEDB源任务-查询源中的数据(3000)/ g  l6 E. K- Q  J3 i
数据转换任务' e" F( p, {: K4 y6 O! y- X7 j6 B. f
Excel目标任务-将数据放入新的数据中Excel文件[/ol]注:您已完成步骤2到步骤3,只需确保您必须连接到新的步骤Excel文件。同样,为了澄清,步骤1除了控制流任务。
1 l. N% j! c# {这种方法非常有用,因为你总是需要复制和使用空白和一致的格式Excel文件。& d. f, |1 D+ V2 J  ^2 Z- n8 z
解决方案2:
1 G) t: ]6 e7 y0 |& s/ r& m另一种选择是使用脚本任务并创建它Excel文件-' s1 }7 ?% Q' @
您还可以在此任务中将数据加载到文件中。这需要对的VB.NET或C#有一些基本的理解。基本上,你需要得到它XLS库(例如NPOI)。这很复杂,但它可以为您提供最佳功能。
, P  ]2 l# q. h* s' a我建议你尝试解决方案#看看它是如何为你工作的。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则