国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

用DTS導(dǎo)入Excel文件的兩個(gè)小技巧

2024-07-21 02:08:54
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

     我們?cè)谑褂胐ts向?qū)В蚴莇ts對(duì)象做excel文件導(dǎo)入sql數(shù)據(jù)庫(kù)時(shí),很可能遇到一點(diǎn)小麻煩,下面以兩個(gè)經(jīng)常碰到的小問(wèn)題來(lái)介紹一下處理的技巧。

     問(wèn)題一

     在導(dǎo)入后,發(fā)現(xiàn)某些列中的一些內(nèi)容被莫名其妙地置空了,明明excel文件的這一行是有內(nèi)容的,到了表里卻變成了null。怎么回事?

     原因是這樣的,假設(shè)你的excel文件中有如下的數(shù)據(jù):

     1001    a1001    ab1001

     1002    a1002    ab1002

     1003    a1003    1000

     ...

     這時(shí),1003這行的1000這一列就被置空了,原因是當(dāng)這一列中有一個(gè)數(shù)據(jù)是字符串類型的數(shù)據(jù),那么excel就認(rèn)為這一列的類型為字符串型,而當(dāng)中在有int型的數(shù)據(jù)時(shí),即execl認(rèn)為1000是int字符串型的數(shù)據(jù)。所以當(dāng)導(dǎo)入到sql中就把它默認(rèn)為null了。

    解決的直接辦法是在excel中將這些int型的數(shù)據(jù)轉(zhuǎn)為char型的,即:

    1000 -> '1000

     但在實(shí)際當(dāng)中,excel的數(shù)據(jù)量會(huì)很大,總不可能一個(gè)一個(gè)的修改吧,其實(shí)簡(jiǎn)單且有效的方法是將此excel文件另存為text文件來(lái)導(dǎo)入。例如在vb的代碼中可以這樣實(shí)現(xiàn):

     xldestsheet.saveas app.path & "/temp.txt", xlunicodetext

     

     問(wèn)題二

     在導(dǎo)入后,發(fā)現(xiàn)多出了很多全空的列。本來(lái)我的excel文件只有5列,導(dǎo)入后發(fā)現(xiàn)多出了兩列,且是全空的。why?

     原因是這樣,sql在處理excel的時(shí),它會(huì)找所有行中列數(shù)最多的,然后以這個(gè)列的最大值做為目標(biāo)表列的個(gè)數(shù)。在我們對(duì)excel文件進(jìn)行錄入操作的時(shí)候,一不小心,可能會(huì)在本來(lái)沒(méi)有列的地方多打了一個(gè)空格,或其它的字符,比如,我們的excel文件應(yīng)該只有a->d這四列,在我們?cè)趀xcel文件中寫(xiě)數(shù)據(jù)的時(shí)候,可能不注意在e10這一列打了一個(gè)空格,這樣就導(dǎo)致了象sql導(dǎo)入時(shí)發(fā)生了上述的錯(cuò)誤。在實(shí)際當(dāng)中,這一現(xiàn)象也可能經(jīng)常出現(xiàn)。

     解決的好辦法,是先確定你要導(dǎo)入excel文件的實(shí)際列數(shù),然后將這些列復(fù)制到一個(gè)新的sheet當(dāng)中,這樣再導(dǎo)的時(shí)候,就可以避免這一問(wèn)題了。

     例如在vb的代碼中可以這樣寫(xiě):

     '加一個(gè)臨時(shí)sheet
     set xldestsheet = xlapp.worksheets.add(after:=xlbook.worksheets(1))
     xldestsheet.name = "temp"
     

     '假設(shè)execl文件中有100行4列的數(shù)據(jù)
     xlworksheet.range("a1:d100").copy destination:=xldestsheet.range("a1")
     xlbook.save

     在dts的使用當(dāng)中,還有很多小的技巧,讓我們多總結(jié),共同探討吧

 

                                              minajo21(大眼睛)                may 23 2003
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 白山市| 平定县| 江陵县| 呼玛县| 高安市| 庆阳市| 林甸县| 定结县| 梅河口市| 新和县| 潼南县| 荔波县| 金沙县| 化隆| 屏东市| 靖西县| 双峰县| 阳信县| 临沭县| 天台县| 广灵县| 景泰县| 六枝特区| 铜鼓县| 家居| 武鸣县| 铁力市| 西昌市| 绥中县| 民和| 牙克石市| 奉节县| 尼木县| 长白| 南和县| 同江市| 成安县| 额尔古纳市| 凭祥市| 阿坝| 湄潭县|