我在Excel表格中有幾列數據,我必須導入到我的應用程序中。在從excel導入數據集之前操作數據
我做到這一點使用 -
string strConn;
OleDbDataAdapter oledaExcelInfo;
strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + Server.MapPath(strSavePath + strRepFileName) + ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\"";
oledaExcelInfo = new OleDbDataAdapter("SELECT * FROM [Book1]", strConn);
dsetExcelInfo = new DataSet();
oledaExcelInfo.Fill(dsetExcelInfo, "CCInfo");
雖然這個數據導入成功,有時導入數據錯誤,即有時一些1234567
可以導入爲1.23E+06
這是可以解決的,如果在數據Excel文件是'1234567
而不是1234567
(附加單引號)
我現在試圖操縱我從Excel中獲取的數據,以便b在我導入數據之前,我可以通過編程將'
附加到所有值以防止導入不正確。
我甚至嘗試使用OleDbDataAdapter.Update,但我想這不會幫助,因爲這發生在數據導入後。那是對的嗎?
我可以操縱數據以便導入正確的數據嗎?我該怎麼做?
您是否嘗試過將單元格的格式設置爲郵政編碼,我知道這聽起來很奇怪,但它似乎是一個合理的好方法來讓長數字工作。 (郵編是特殊格式,您可能需要從語言環境下拉菜單中選擇英語美國) – Fionnuala 2010-08-11 19:35:17
謝謝,我會盡力做到這一點。但是,該應用程序已經有很多用戶,將單元格格式設置爲郵政編碼可能是不可能的。 :(我將不得不以編程方式處理這個問題,或者,我可以在通過我的代碼導入之前格式化單元格嗎? – pavanred 2010-08-11 20:03:50
您可以嘗試:) ... 範圍(「B1:B2」)選擇... 選擇.NumberFormat =「00000」 – Fionnuala 2010-08-11 20:10:12