前几天收到leader的任务:
要求是:打开excel文件(兼容2003和2007)之后,显示第一个sheet,并且每个sheet选中第一个单元格。
之前从来没有接触过类似的需求,自己打开文件之后测试,原来在excel文件中,在某一个位置修改之后保存,再次打开的话,还是会显示在上次保存的位置。上网查看,关于excel文件的操作。
结构:
HSSF - 提供读写Microsoft Excel格式档案的功能。
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。
npoi是poi的.net版,由于我在网上前方百计的寻找,终于找到了这个同学发的关于我的需求的文档:
http://www.cnblogs.com/atao/archive/2009/11/15/1603516.html
文中提到的方法,我试了一下能用,但是不能满足我全部的需求。我请教了一下公司的大牛,大牛说,这个东西很简单,大牛写了一个不到100行的代码,很好的完成了这个功能。
其中引用了:microsoft.office.interop.excel来操作excel文件。http://www.cnblogs.com/litianfei/archive/2008/03/21/1116906.html
现在想想,这个操作excel文件的东西是excel的COM组件。在vs中添加引用,就可以直接使用。
完成我这个小工具的核心代码:
tempSheet.Cells[1, 1].Select(); //将第一个单元格设为可见
在excel中ctrl+Home,可以将光标定位到第一个单元格。ctrl+pagedown转到下一个sheet