我正在尝试通过使用SSIS包将数据导出到excel。
我创建了数据流任务,然后选择excel目标作为保存数据。然后尝试在excel连接管理器上工作,我遇到了将数据导出到目标文件夹excel文件的工作表1的问题。 我必须使用Excel Connection编辑器创建一个表,然后将其将数据加载到目标excel文件中的新创建的工作表中。我不想在excel文件中有两张纸,因为一张纸是导出的数据,另一张纸是空的,只包含标题。
尝试将数据导出到工作表1时出现以下错误
[Excel目标[12]]错误:SSIS错误代码DTS_E_OLEDBERROR。一个 发生OLE DB错误。错误代码:0x80040E21。 OLE DB记录是 可用。来源:“ Microsoft JET数据库引擎”结果: 0x80040E21说明:“生成了多步OLE DB操作 错误。检查每个OLE DB状态值(如果有)。没有工作 完成。”
[Excel目标[12]]错误:设置 绑定“列表”列。绑定状态为“ DT_NTEXT”。
[Excel目标[12]]错误:无法创建OLE DB访问器。 验证列元数据是否有效。
[SSIS.Pipeline]错误:Excel目标在预执行阶段失败 并返回错误代码0xC0202025。
但是当我将数据导出到新创建的工作表“ Excel Destination”时,它工作得很好。
请查看以下屏幕截图。
答案 0 :(得分:0)
必须使用Excel Connection Manager设置Excel目标。 连接管理器需要一个Excel路径(是否存在)
一旦Excel文件存在,您就可以打开它并删除不需要的工作表。
因此,现在在工作表的excel目标名称中,您只有所需的工作表。
选择目标工作表后,您可以在“映射”标签中调整列
您应该考虑使用真实的excel文件作为目标文件,以使sis中的所有元数据都是最新的。否则,您可能必须使用高级编辑器。
查看文件的Excel连接版本。有时2010-2017(xlsx)元数据不同步。 如果可以解决您的问题,请使用excel 97目的地
答案 1 :(得分:0)
在数据转换中,列的绑定类型应为[DT_WSTR]。更新此类型转换后,它开始导出到excel文件的第一页。
但是当在Excel中包含两张图纸时,不确定[DT_NTEXT]类型时它是如何导出的。