咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

在程序和Excel之间实现数据的复制/粘贴

作为一个广泛使用的电子表格程序,Excel数据的导入和导出基本是一个应用程序的标准功能。

传统的做法是通过通过odbc连接Excel,把Excel当成数据库来用;或者通过Office提供的Com实现Excel的操作。这两种方法对程序的限制还是比较大的,现在一般没有人用这种方法了。

通常的做法是通过第三方开源库直接实现对Excel文件的读写操作,既方便又快捷,几句代码就可以搞定了。当然也可以自己实现,在微软推出xlsx格式后,里面的数据其实都是xml格式的,自己写一个简单的数据读写功能也不难。.Net下我一般用NPOI来实现Excel文件的读写,这个是移植自Java下的POI,功能比较强大。

但是将Excel数据直接复制/粘贴到程序中,或者将程序中的数据复制/粘贴到Excel中,我还真没有实现过,因为一般情况下用户不会提出这种需求,所以也不会考虑它的实现。

最近逛codeproject网站的时候发现了一篇文章《Easy WPF Copy/Paste Excel》,作者提供了一个公用类,WPF程序中只要简单设置一下附加属性就可以实现Excel和WPF程序之间数据的复制和粘贴。Demo代码下载后运行了一下,确实可以。

作为一个程序员,肯定不会满足于简单的调用,追根问底是我们程序员的本能。通过调试和追踪,发现其实本质上很简单。从Excel复制出来的其实就是是一个csv格式的文本数据,程序中获取剪贴板数据后,只要对这个csv数据解析后就可以使用了;如果要将程序中的数据复制到Excel中,也只要将数据整理成csv格式的数据并放到到剪贴板中,然后在Excel中就可以直接CTRL+V粘贴了。

是不是很简单[呲牙]