設為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 5620|回復: 6
打印 上一主題 下一主題

[API] “沒有腳的鳥”——API自定義路徑導入導出數(shù)據(jù)

[復制鏈接]
跳轉到指定樓層
1#
發(fā)表于 2012-4-3 20:47:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 roych 于 2015-5-15 16:43 編輯

       “我聽別人說這世界上有一種鳥是沒有腳的,它只能夠一直地飛呀飛呀, 飛累了就在風里面睡覺,這種鳥一輩子只能下地一次,那一次就是它死亡的時候。”
    記得第一次看《阿飛正傳》時,就被這一句臺詞所打動了。也許骨子里一直流淌著這種不安分的血液吧,當時很羨慕這種沒有腳的鳥,以為這就是我想要的自由。然而多年以后的今天才知道,那只鳥的自由翱翔,恰恰返照出它的無奈。在那些風雨交加的日子里,揀盡寒枝不能歇的它,仿若無根的浮萍,又拿什么來談自由呢?世上終究沒有絕對的自由,所有自由都是要付出代價的,不是么?
    在哥哥逝世九周年之際,提及這部電影,也算是一種緬懷吧。

    而說到自由,則是因為最近一個同事問及如何自定義路徑導出數(shù)據(jù)的問題。開始是用FileDialog對象去寫,不過因為Office庫的版本問題,效果并不太好,后來便考慮用API函數(shù)來處理。
    通過獲取路徑進行導入是很簡單的,聲明API函數(shù)GetOpenFileNameA后,再處理好打開文件夾對話框界面即可。而對于導出,則相對麻煩些,因為往往要先賦以一個默認值,否則很容易出錯。而我所做的,也就是把這兩者合二為一而已。

    其它說明:
    1、為了簡化函數(shù),模塊僅僅支持Excel文件(*.xls)。如需要多種選擇,則需要進一步改進里面的strFilter屬性。
    2、大家在測試時應該先導出數(shù)據(jù),再以該文件為數(shù)據(jù)源進行導入,這是因為導入和導出字段結構相同的緣故。
******************************************************************************************
2015-5-15更新:
增加2007格式的導入導出。
注:導入是沒問題的。不過,由于Office 2007(當然包括Access 2007了)采用新的Office Open XML 文件格式,如果導出為2003格式,打開時出現(xiàn)提示是正常的,但不會影響數(shù)據(jù)的顯示。如果試圖避免這個問題,可能需要在用戶端安裝一些插件。http://www.microsoft.com/china/msdn/library/office/office/OfficeOpenXMLFormats.mspx?mfr=true

  
  

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x

本帖被以下淘專輯推薦:

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享分享 分享淘帖1 訂閱訂閱
2#
發(fā)表于 2012-4-6 10:44:17 | 只看該作者
學習!
3#
發(fā)表于 2012-12-11 20:13:24 | 只看該作者
謝謝分享{:soso_e179:}
4#
發(fā)表于 2015-3-3 23:56:14 | 只看該作者
{:soso_e179:}

點擊這里給我發(fā)消息

5#
發(fā)表于 2015-5-14 17:27:07 | 只看該作者
請問一下,如果我臨時取消導入或?qū)С?會彈出一個錯誤對話框,如何解決呀?另如果想導入2007以上版本的excel 呢?
6#
 樓主| 發(fā)表于 2015-5-15 16:44:34 | 只看該作者
十三 發(fā)表于 2015-5-14 17:27
請問一下,如果我臨時取消導入或?qū)С?會彈出一個錯誤對話框,如何解決呀?另如果想導入2007以上版本的excel ...

在2007版上已增加錯誤處理,但用2007版導出2003版excel文件時,會提示文件擴展名不一致。
7#
發(fā)表于 2017-3-18 15:41:04 | 只看該作者
學習
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-13 08:24 , Processed in 0.109998 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表