這幾天做一個Winform的系統,需要用到將DataGridView導出成Excel,以前一直沒有在意這些方面的問題,因為以前做VB的時候已經做過很多這方面的導出,所以總認為小菜一碟。
我用的是VS2005和Office2003。
可是真正使用的時候才發現問題多多:
首先是添加了Microsoft Excel11 Object Libray之後,發現引用裡面的” Microsoft.Office.Interop.Excel”不能用。出現了一個可惡的黃色小感歎號。這可真愁壞我了。後來在網上查找原因,看到關於C#導出Excel的例子是很多,但是都沒有涉及到這是什麼問題,可能是他們沒有遇到,所以沒有說。
不過有人說了使用Tlpimp.exe和Excel.olb來生成Excel.dll,然後引用就可以了。可是office2003中根本就找不到Excel.olb這東西。
後來終於看到了一篇上面說是安裝office2003的時候要選擇“.Net可編程性支持”。後來把office2003修改了下,重新選擇安裝了“.Net可編程性支持”。重新在工程中引用之後,呵呵,終於沒有再出現這可惡而漂亮的黃色小感歎號。
我在查找這個問題的過程中,發現眾多的兄弟都曾經遇到這樣的問題,估計後面也會有千千萬萬的兄弟還可能會遇到這樣的問題,為了能夠增加點Google和Baidu的命中率,讓更多的兄弟少走點彎路,所以把這個東西記錄下來。也便於我自己後續的參考。
1、安裝office2003的時候,請選擇“選擇應用程序的高級自定義”如下圖:
2、請選擇“.Net可編程性支持”下選擇菜單的“從本機運行全部程序”,如下圖片。