【问题标题】:Export single sql table into multiple Excel sheets with single Excel file using ssis使用 ssis 将单个 sql 表导出到具有单个 Excel 文件的多个 Excel 工作表中
【发布时间】:2016-11-29 14:05:51
【问题描述】:

我正在尝试使用 ssis 将单个 sql 表导出到具有单个 Excel 文件的多个 Excel 工作表中。场景:

  1. 在 SQL 表中有区域数据。每天我都会从客户区域明智地获取数据。
  2. 必须将此数据导出到不同的 Excel 工作表中,例如同一 Excel 文件中的 region1、region2
  3. 每天在运行 ssis 包时,前一天的数据应该被截断并且必须插入新值。

【问题讨论】:

  • 那么你已经尝试了什么?究竟是什么,你坚持?
  • 我已经使用了数据流任务。我已经将源添加为 sql server,然后添加了用于分类工作表的条件拆分(区域 1、区域 2 ...),然后添加了三个指向相同的 excel 目标excel连接管理器....运行包后,我可以在单个excel文件中的不同工作表(区域1,区域2,区域3)中明智地获取数据区域。现在问题是当我下次运行时,数据会附加上一次运行数据。我想截断旧数据,并且在我每天运行包时必须插入新数据。
  • 我从您之前的问题中删除了紧急乞求。不得不再做一次,并修剪 txtspk,我投了反对票。请在写问题时更加小心,尽可能使用真实的单词,不要乞求。谢谢。

标签: sql-server ssis


【解决方案1】:
INSERT INTO OPENROWSET('MICROSOFT.ACE.OLEDB.12.0', 'EXCEL
12.0;DATABASE=D:\DOWNLOADS\XLFILE.XLSX;', 'SELECT COLUMNNAMES FROM [HT$]') 
SELECT COLUMNNAMES 
FROM [DBRD].[DBO].[TABLE]

【讨论】:

  • 你能详细说明我在哪里做这个
  • 最好为答案中提供的代码示例提供一些解释/上下文,以使它们更易于理解。
  • 在代码中 [HT$] 是一个工作表名称,ypu 可以更改为 region1
  • 您可以在 Select 查询中使用 where 语句,例如 where columvalue='region1'
  • 感谢 Krish 让你知道
【解决方案2】:

创建一个名为 testing 的 Excel 文件,其标题与表列的标题相同,并使用这些查询

1 从 SQL Server 表中导出数据到现有的 EXCEL 文件

insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
    'Excel 8.0;Database=D:\testing.xls;', 
    'SELECT * FROM [SheetName$]') select * from SQLServerTable

2 将数据从 Excel 导出到新的 SQL Server 表

select * 
into SQLServerTable FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
    'Excel 8.0;Database=D:\testing.xls;HDR=YES', 
    'SELECT * FROM [Sheet1$]')

3 将数据从 Excel 导出到现有的 SQL Server 表

Insert into SQLServerTable Select * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
    'Excel 8.0;Database=D:\testing.xls;HDR=YES', 
    'SELECT * FROM [SheetName$]')

4 如果不想提前创建EXCEL文件,想导出数据,使用

EXEC sp_makewebtask 
    @outputfile = 'd:\testing.xls', 
    @query = 'Select * from Database_name..SQLServerTable', 
    @colheaders =1, 
    @FixedFont=0,@lastupdated=0,@resultstitle='Testing details'

(现在您可以找到带有表格格式数据的文件)

最后,这是相当全面的。

How do you transfer or export SQL Server 2005 data to Excel

【讨论】:

  • 在 SQL Server 2012 中找不到 SP。SQL'12 中的任何替代 SP。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-17
  • 2010-11-07
  • 1970-01-01
  • 2015-01-15
  • 1970-01-01
  • 2016-04-17
  • 1970-01-01
相关资源
最近更新 更多