帮个忙拉

解决方案 »

  1.   

    http://blog.csdn.net/Firestone2003/archive/2006/06/09/781508.aspx
      

  2.   

    首先的一步就是使用Tlbimp.exe这个工具将Excel9.0的对象库文件Excel8.olb转换成为dll,这样才能做为.Net平台Assembly来使用:)操作如下:TlbImp Excel9.olb Excel.dll 
    只要有了这个Excel.dll,现在我们就能使用Excel的各种操作函数了。 
    下面就让我们具体看看C#是如何使用这些东东吧。 
    1. 创建一个新Excel的Application: Application exc = new Application();
    if (exc == null) {
    Console.WriteLine("ERROR: EXCEL couldn't be started");
    return 0;
    }
    2. 让这个工程可见: exc.set_Visible(0, true); 
    3. 获取WorkBooks集合: Workbooks workbooks = exc.Workbooks; 
    4. 加入新的WorkBook: _Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet, 0); 
    5. 获取WorkSheets集合: _Worksheet worksheet = (_Worksheet) sheets.get_Item(1);
    if (worksheet == null) {
    Console.WriteLine ("ERROR in worksheet == null");
    }
    6. 给单元格设置变量:Range range1 = worksheet.get_Range("C1", Missing.Value);
                     if (range1 == null) {
                              Console.WriteLine ("ERROR: range == null");
                     }
                     const int nCells = 1;
                     Object[] args1 = new Object[1];
                     args1[0] = nCells;
                     range1.GetType().InvokeMember("Value", BindingFlags.SetProperty, null,         range1, args1);
    例程: using System;
    using System.Reflection; 
    using System.Runtime.InteropServices; 
    using Excel;class Excel {
             public static int Main() {
                     Application exc = new Application();
                     if (exc == null) {
                              Console.WriteLine("ERROR: EXCEL couldn't be started!");
                              return 0;
                     }
                     
                     exc.set_Visible(0, true); 
                     Workbooks workbooks = exc.Workbooks;
                     _Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet, 0); 
                     Sheets sheets = workbook.Worksheets;                 _Worksheet worksheet = (_Worksheet) sheets.get_Item(1);
                     if (worksheet == null) {
                              Console.WriteLine ("ERROR: worksheet == null");
                     }
                     
                     Range range1 = worksheet.get_Range("C1", Missing.Value);
                     if (range1 == null) {
                              Console.WriteLine ("ERROR: range == null");
                     }
                     const int nCells = 1;
                     Object[] args1 = new Object[1];
                     args1[0] = nCells;
    range1.GetType().InvokeMember("Value", BindingFlags.SetProperty, null,range1, args1);
                     return 100;
             }
    }
    首先把COM组件"EXCEL9.OLB"拷贝到C盘的根目录下,然后输入下列命令:
    tlbimp excel9.olb   这样在C盘的根目录下面就产生了三个DLL文件:"Excel.dll"、"Office.dll"、"VBIDE.dll"。在产生了上面的三个文件后,这种转换就成功完成了。在程序里参照引入Excel.dll