设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5285|回复: 6
打印 上一主题 下一主题

[API] “没有脚的鸟”——API自定义路径导入导出数据

[复制链接]
跳转到指定楼层
1#
发表于 2012-4-3 20:47:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 roych 于 2015-5-15 16:43 编辑

       “我听别人说这世界上有一种鸟是没有脚的,它只能够一直地飞呀飞呀, 飞累了就在风里面睡觉,这种鸟一辈子只能下地一次,那一次就是它死亡的时候。”
    记得第一次看《阿飞正传》时,就被这一句台词所打动了。也许骨子里一直流淌着这种不安分的血液吧,当时很羡慕这种没有脚的鸟,以为这就是我想要的自由。然而多年以后的今天才知道,那只鸟的自由翱翔,恰恰返照出它的无奈。在那些风雨交加的日子里,拣尽寒枝不能歇的它,仿若无根的浮萍,又拿什么来谈自由呢?世上终究没有绝对的自由,所有自由都是要付出代价的,不是么?
    在哥哥逝世九周年之际,提及这部电影,也算是一种缅怀吧。

    而说到自由,则是因为最近一个同事问及如何自定义路径导出数据的问题。开始是用FileDialog对象去写,不过因为Office库的版本问题,效果并不太好,后来便考虑用API函数来处理。
    通过获取路径进行导入是很简单的,声明API函数GetOpenFileNameA后,再处理好打开文件夹对话框界面即可。而对于导出,则相对麻烦些,因为往往要先赋以一个默认值,否则很容易出错。而我所做的,也就是把这两者合二为一而已。

    其它说明:
    1、为了简化函数,模块仅仅支持Excel文件(*.xls)。如需要多种选择,则需要进一步改进里面的strFilter属性。
    2、大家在测试时应该先导出数据,再以该文件为数据源进行导入,这是因为导入和导出字段结构相同的缘故。
******************************************************************************************
2015-5-15更新:
增加2007格式的导入导出。
注:导入是没问题的。不过,由于Office 2007(当然包括Access 2007了)采用新的Office Open XML 文件格式,如果导出为2003格式,打开时出现提示是正常的,但不会影响数据的显示。如果试图避免这个问题,可能需要在用户端安装一些插件。http://www.microsoft.com/china/msdn/library/office/office/OfficeOpenXMLFormats.mspx?mfr=true

  
  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖1 订阅订阅
2#
发表于 2012-4-6 10:44:17 | 只看该作者
学习!
3#
发表于 2012-12-11 20:13:24 | 只看该作者
谢谢分享{:soso_e179:}
4#
发表于 2015-3-3 23:56:14 | 只看该作者
{:soso_e179:}

点击这里给我发消息

5#
发表于 2015-5-14 17:27:07 | 只看该作者
请问一下,如果我临时取消导入或导出 会弹出一个错误对话框,如何解决呀?另如果想导入2007以上版本的excel 呢?
6#
 楼主| 发表于 2015-5-15 16:44:34 | 只看该作者
十三 发表于 2015-5-14 17:27
请问一下,如果我临时取消导入或导出 会弹出一个错误对话框,如何解决呀?另如果想导入2007以上版本的excel ...

在2007版上已增加错误处理,但用2007版导出2003版excel文件时,会提示文件扩展名不一致。
7#
发表于 2017-3-18 15:41:04 | 只看该作者
学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-26 01:42 , Processed in 0.112202 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表