目的:
解決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.