使用ssis将单个sql表导出到多个Excel工作表中,使用单个Excel文件

时间:2016-11-29 14:05:51

标签: sql-server ssis

我正在尝试使用ssis将单个sql表导出到包含单个Excel文件的多个Excel工作表中。情形:

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

2 个答案:

答案 0 :(得分:0)

public class NewNode {

    private Element newElement = new Element(Tag.valueOf("p"), "");
    private List<Node> childs;

    public NewNode(List<Node> childs) {
        this.childs = childs;
    }

    public Node getNewNode() {
        childs.forEach(child -> newElement.appendChild(child.clone()));
        return newElement;
    }

}

答案 1 :(得分:0)

创建一个名为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