欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

在没安装OFFICE的服务器SSIS中进行EXCEL的ETL操作!

程序员文章站 2022-04-14 21:15:03
...

由于OFFICE 2010的安装包比较庞大,如果仅仅为了在服务器中实现操作EXCEL,完全没有必要安装整个OFFICE,是否可以不装OFFICE也实现与OFFICE文件的互相操作呢?答案是肯定的,在SSIS中只要安装Microsoft Access 2010 数据库引擎可再发行程序包即可实现2010 Mi

由于OFFICE 2010的安装包比较庞大,如果仅仅为了在服务器中实现操作EXCEL,完全没有必要安装整个OFFICE,是否可以不装OFFICE也实现与OFFICE文件的互相操作呢?答案是肯定的,在SSIS中只要安装Microsoft Access 2010 数据库引擎可再发行程序包即可实现2010 Microsoft Office System 文件与非 Microsoft Office 应用程序之间传输数据,支持现有的 Microsoft Office 文件(例如 Microsoft Office Access 2010(*.mdb 和 *.accdb)文件和 Microsoft Office Excel 2010(*.xls、*.xlsx 和 *.xlsb)文件)与其他数据源(例如 Microsoft SQL Server)之间传输数据。还支持与现有文本文件建立连接。 此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。该安装包下载地址:?id=13255 。

本人负责年初已上线的BI项目,一部分数据是需要自动采集在Sharepoint 2010上的Excel文档库数据,但SSIS服务器并没有安装OFFICE,就是通过此组件实现互操作!对于简单的EXCEL直接通过数据流的方式实现,,对于负责的EXCEL则通过脚本实现,具体如下:

1.简单的EXCEL,数据流的实现方式。

在没安装OFFICE的服务器SSIS中进行EXCEL的ETL操作!

在没安装OFFICE的服务器SSIS中进行EXCEL的ETL操作!

在没安装OFFICE的服务器SSIS中进行EXCEL的ETL操作!

在没安装OFFICE的服务器SSIS中进行EXCEL的ETL操作!

2.负责的EXCEL,主要通过脚本实现。

连接Excel并返回所有SHEET脚本示例如下:

string strConn, ls_pjname = string.Empty,strsqlconn=string.Empty; strConn = +@as_xlspath+; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); DataTable sheetNames = conn.GetOleDbSchemaTable (OleDbSchemaGuid.Tables, }); conn.Close();