SSIS를 사용하면 Excel 드라이버를 사용하여 OLE 연결을 사용할 수 있습니다. Excel 연결을 별도로 사용할 수 있습니다.SSIS Excel 원본 연결. Excel을 읽으려면 무엇이 사용됩니까?
둘 다 두려움에 따라 파일을 읽는 데 문제가있는 것 같습니다.
"Excel 연결"을 사용할 때 SSIS에서 Excel에 연결하는 데 사용하는 기능이 궁금합니다.
VBA 외에도 서버에서 셀, 수식, 서식 등을 병합 한 Excel 파일을 읽는 것이 좋습니다. 나는 여기가 XLS를 읽는 데 사용할 코드의 업데이트
엑셀 2003을 사용하고 있습니다 :
:이처럼 보이는 스프레드 시트를 읽을
private static void GetExcelSheets(string filePath)
{
string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'", filePath, "no");
OleDbConnection excelConnection = new OleDbConnection(connectionString);
OleDbCommand cmdExcel = new OleDbCommand();
OleDbDataAdapter oda = new OleDbDataAdapter();
cmdExcel.Connection = excelConnection;
if (excelConnection.State == ConnectionState.Open)
{
excelConnection.Close();
}
excelConnection.Open();
OleDbCommand oleDbCommand = new OleDbCommand();
oleDbCommand.CommandType = System.Data.CommandType.Text;
oleDbCommand.Connection = excelConnection;
OleDbDataAdapter oleDbDataAdapter = new OleDbDataAdapter(oleDbCommand);
DataTable dtExcelSheetName = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string getExcelSheetName = dtExcelSheetName.Rows[5]["Table_Name"].ToString();
oleDbCommand.CommandText = "SELECT * FROM [" + getExcelSheetName + "]";
oleDbDataAdapter.SelectCommand = oleDbCommand;
DataTable dtExcelRecords = new DataTable();
oleDbDataAdapter.Fill(dtExcelRecords);
excelConnection.Dispose();
}
그런 다음 디버거 비주얼 라이저를 사용하여 데이터 세트를 표시합니다. 내가 원 소스 스프레드 시트의 데이터가 표시 DataTable에 누락 된 것을 참고 :
제트 4.0 용 Microsoft OLE DB 공급자를 사용하여 Excel에서 연결에 대한 점에 대해서. SSIS에는 두 개의 개별 연결 개체가 있습니다. 첫 번째는 Excel Connect 개체입니다. 속성 페이지는 다음과 같습니다.
두 번째는 JET 드라이버를 사용하고 Excel을 가리키는 OLE 연결 개체입니다.
내 업데이트를 참조하십시오. – ChadD
@ChadD : 안타깝게도 imgur 링크를 차단하는 회사 네트워크에있어 스크린 샷을 볼 수 없습니다. 내가 집에 돌아올 때 나는 따라 할려고 노력할 것이다. –