今天在修改报表的一个bug:一年前设计的报表输出excel file中,需要动态修改excel表格,在merge cells的时候,列的长度没有算对。对于这个问题,当时在计算需要merge的range的时候,是自己写的代码去计算UsedRange的size,效果不是很好。然后,今天修改的时候,我想excel应该提供这些Method 或者 property,于是去查找有关操作excel的文章,都不尽如意。
还是在msdn上查找比较好,下面列下一些必备知识:
1. WorkSheet : http://msdn.microsoft.com/en-us/library/af2ak5yz(v=VS.80).aspx
2. Range: http://msdn.microsoft.com/en-us/library/ms281150.aspx
下面我用Excel.Application来处理我的excel表格:
1. 创建Excel.Application对象,打开excel文件:
2. 获取所有的sheet:
3. 遍历所有的Sheet, 获取其中每个sheet:
4. 鉴于多次调用反射,便将他们提出:
5. 对Sheet进行操作,例如:
6. 对Range的操作,例如:
这边顺便列下,网路上很多直接引用com,然后获取UsedRange的VC版本:
对Excel的操作就先写那么多,以后遇到其他问题再补充,要是有不妥之处,还望大家指教。