我必須打開一個大型的Excel文件150MB與半記錄(Excel 2007年.xlsx文件),我必須將其遷移到SQL Server,我使用oledbconnection,但是當我嘗試打開連接時,需要超過5分鐘,然後出現System.OutMemoryExcepion。我認爲這個連接試圖打開內存中的所有文件,我該如何逐行閱讀。 我用Visual網2005和C#C#打開大型Excel文件(150MB)OledbConnection System.OutOfMemoryException
string archivoExcel="c:\largeExcel.xlsx"
string conneStringInraSIS = "Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + archivoExcel + ";" +
"Extended Properties='Excel 12.0;HDR=YES;'";
OleDbConnection connexcel = new OleDbConnection(conneStringInraSIS);
connexcel.Open();
它是150MB還是250MB? – SLaks 2009-12-30 00:54:02
你應該使用'OleDbConnectionStringBuilder'來建立你的連接字符串,而不是手動連接字符串,否則如果文件名有'''你會失敗。 – SLaks 2009-12-30 00:55:12
該文件是什麼?它可以保存爲CSV格式嗎?另外,2007 Excel只是一堆壓縮的XML文件。你可以直接用文本閱讀器來操縱這些閱讀器,一次閱讀1000行。 – 2009-12-30 00:55:58