C# - Microsoft.Office.Interop.Excel将excel中的所有行复制到另一个工作表

时间:2013-10-14 10:03:09

标签: c# vba visual-studio-2008 office-interop excel-interop

我在目录中有3-4个excel文件,每个excel工作簿包含1个工作表。每张纸的结构是相同的。我想将所有纸张合并为一张纸。我在VS 2008中使用Microsoft.Office.Interop.Excel包。如何复制一个工作表中的所有行并附加到另一个工作表的末尾?我是C#的新手,所以我的问题可能不合适。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

这是一个非常大的问题,我不确定你需要哪些具体的帮助。我可以用这个代码滚动球

using Microsoft.Office.Interop.Excel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{ 
class Program
{
    static void Main(string[] args)
    {
        Application excel = new Application();
        Workbook wb1 = excel.Workbooks.Open("c:\\temp\\me.xlsx");
        Workbook wb2 = excel.Workbooks.Open("c:\\temp\\you.xlsx");
        Range src = wb1.Sheets["Sheet1"].Range("A1:B3");
        Range dest = wb2.Sheets["Sheet1"].Range("A10");

        src.Copy(dest);
        wb2.Save();
        wb1.Close();
        wb2.Close();
        excel.Quit();
    }
}
}

将一些单元格从'me.xlsx'复制到'you.xlsx'(注意这是VS的新版本而不是你正在使用的)

这有帮助吗?

答案 1 :(得分:0)

您可以考虑阅读本文Understanding the Excel Object Model from a Visual Studio 2005 Developer's Perspective。这是Excel Interop的一个很好的开始 - 有很多C#和VB的例子。特别要检查解释复制方法的部分。

问候,

Therak