2010年1月20日 星期三

[Asp].匯入欄位長度>255 的 excel 檔.

目的:
解決1: 有混合資料(文字&數字) 欄位時, asp 讀取該列時, 會讀出 NULL.
解決2: 匯入欄位長度可以 >255 個位元.

解決辦法:
1.修改 connection 的 connection string,
'// 舊的連線字串
'myExcelConnectionString = "DBQ=" & strExcelFileName & ";DRIVER={Microsoft Excel Driver (*.xls)};"
'// 新的連線字串
myExcelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strExcelFileName & ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
請參考附件的 import_act.asp

2. 修改 web server 上的 register.

1. 在 IIS server 的主機上, 點 "開始" -> "執行", 指令輸入框裡輸入 Regedit , 並按下 Enter.

2. 開啟下面這個項目,
Hkey_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel/ImportMixedTypes
修改內容為 Text
3. 開啟下面這個項目,
Hkey_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel/TypeGuessRows
修改內容為 0

或直接執行附件 ExcelLargeDataSetting.reg

參考資料:


附註: 要被Asp 處理的 excel 的 sheet 要修改 sheet 名稱為 import.

沒有留言:

張貼留言

Facebook 留言板