电子表格已满

我使用SSIS将数据插入Excel。

我得到以下exception:

'[Excel Destination [32]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft Office Access Database Engine" Hresult: 0x80004005 Description: "Spreadsheet is full.".' 

我使用以下链接做了一些研究:

http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP010073849.aspx

它指出,您可以填充最多1,048,576 rows by 16,384 columns

我导入Excel的数据只有大约100,000 rows by 5 columns

为什么我得到这个exception?

以下是我的Data Flow Task

ODBC Source Data ConversionExcel Destination

最好的解决方法是使用Flat File Destination ,然后直接从Excel导入Flat File 。 事实certificate,使用SSIS导入Excel的速度非常缓慢。 这项工作几乎是瞬间导入我的数据,而不是等待半个小时。

我通过将文件更改为xlsx并将excel版本(属性excel连接pipe理器)更改为Excel 2007-2010进行sorting

我通过创build一个空的EXCEL文件来解决这个问题,该文件包含所有在转换过程中应该填充的列,并在Excel文件的列中创build一个表。 所以你可以通过select列并点击“Format as table”选项来实现。 Excel文件准备就绪后,可以将其保存为xlsx扩展名,然后再次加载该Excel文件。 现在你将能够加载其中有更多行数的excel文件。