如何用C#读取Execl中的数据,再将数据填充到另一张Execl表中
请各位能否提供完整的代码急用。谢谢!

解决方案 »

  1.   

    可以放在SQL中处理,然后再写入Excel.
    SQL读取Excel中的数据方法:
    declare @excfilePath varchar(2000),@excsheet varchar(100)
    EXEC('SELECT * into a FROM openrowSET(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES;DATABASE='+@excfilePath+''',
    ['+@excsheet+'])  ')
    然后导出Excel
    EXEC master..xp_cmdshell 'bcp "SELECT * from a " queryout D:\WinForm\ProjExcel\airperformancetol.xls -c -q -S "WUSF\DAT" -U"sa" -P"055122"'如果是导入先前Excel,不同的工作本,可以用"雏老大"的PROCE
    http://blog.csdn.net/zjcxc/archive/2003/12/29/20084.aspx
      

  2.   

    考虑 Microsoft.Office.Interop.Excel.dll
    查一下相关的资料,不难的
      

  3.   

    这个方法对规则的表可用,对不规则的表就不方便了,我给你一个一劳永逸的方法,
    下面的代码非常灵活,可以对任意单元格的值进行读取或者修改//创建一个excel应用程序实例
    Excel.Application app = new Excel.Application();   
    app.Visible = true;
    app.UserControl = true;   
    Excel.Workbooks workbooks =app.Workbooks;
    //打开指定的表
    Excel._Workbook workbook = workbooks.Add("c:\\b.xls"); 
    Excel.Sheets sheets = workbook.Worksheets;
    Excel._Worksheet worksheet = (Excel._Worksheet) sheets.get_Item(1);//提取A1单元格的值,并天赋给 strTemp
    Excel.Range range1 = worksheet.get_Range("A1", Type.Missing);
    string strTemp;
    strTemp = range1.Value2.ToString();//对A1单元格进行赋值
    const int nCells = 2345;
    range1.Value2 = nCells;

    //保存当前文件
    workbook.SaveCopyAs("c:\\1.xls");//释放相关内存
    app.Quit ();
    worksheet = null;
    sheets = null;
    workbook = null;
    workbooks = null;
    app = null;
      

  4.   

    //创建一个excel应用程序实例
    Excel.Application app = new Excel.Application();   
    app.Visible = true;
    app.UserControl = true;   
    Excel.Workbooks workbooks =app.Workbooks;
    //打开指定的表
    Excel._Workbook workbook = workbooks.Add("c:\\b.xls"); 
    Excel.Sheets sheets = workbook.Worksheets;
    Excel._Worksheet worksheet = (Excel._Worksheet) sheets.get_Item(1);//提取A1单元格的值,并天赋给 strTemp
    Excel.Range range1 = worksheet.get_Range("A1", Type.Missing);
    string strTemp;
    strTemp = range1.Value2.ToString();//对A1单元格进行赋值
    const int nCells = 2345;
    range1.Value2 = nCells;

    //保存当前文件
    workbook.SaveCopyAs("c:\\1.xls");//释放相关内存
    app.Quit ();
    worksheet = null;
    sheets = null;
    workbook = null;
    workbooks = null;
    app = null;用这段代码是不是要导入什么命名空间啊,我拿来用.NET2003就提示C:\Documents and Settings\Administrator\My Documents\Visual Studio Projects\WindowsApplication2\Form1.cs(78): 找不到类型或命名空间名称“Excel”(是否缺少 using 指令或程序集引用?)这个错误啊