使用SSIS以不同语言加载Excel文件

问题描述:

我有86个国家,每个文件夹都有一个放在CountryFolder中的文件夹:使用SSIS以不同语言加载Excel文件

C:\Users\Countries\Algeria 

而且在每个国家文件夹中有一个Excel工作表在该国的语言:

C:\Users\Countries\Algeria\Excel Sheet.xlsx 

我有一个foreach循环软件包,通过所有的国家迭代提取从Excel工作表数据。这些表格全部采用相同的格式,但使用不同的语言。 我的SSIS包通过所有英文国家/地区将表单加载到数据库,但在到达西班牙语和其他非英语国家时会引发错误,因为它使用列名进行映射。表列名是英语,所以它们不匹配的非英语国家的Excel列名

我假设你有一个ForEach循环迭代的folder .Inside ForEach Loop使用FileSystem任务到特定的文件复制到不同的位置。然后用Script task的帮助下阅读原始Excel文件并更改列heders英文名称,使得具有不同的Data Flow Task适用于所有的过人之处langauages

ConnString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; 
Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";" 
,@ForEachVariable); 

Note :@ForEachVariable包含存储在一个变量文件位置ForEach

//open the connection 
OleDbCommand query = 
new OleDbCommand("SELECT * FROM ["xlWorksheet"$]", objConn); 

//popluate the Datetable and get the column names using 
dt.Columns[0].ColumnName 

一旦你得到了列名更改为您的英文名在Excel中,然后再处理使用DFT

包装设计文件: -

enter image description here

在这方式你可以reuse你现有的数据流任务