国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 柳州市| 马尔康县| 平昌县| 顺平县| 临武县| 大荔县| 钟山县| 赣榆县| 青州市| 宁远县| 静宁县| 平阳县| 福清市| 建阳市| 星座| 鹤庆县| 柘城县| 望奎县| 景宁| 麟游县| 玉门市| 四子王旗| 青神县| 信丰县| 雷山县| 唐海县| 岱山县| 隆安县| 新干县| 松阳县| 延津县| 平顶山市| 林口县| 深泽县| 河西区| 永德县| 本溪市| 武穴市| 明溪县| 新绛县| 肃南|