使用C#将多个工作簿合并到一个(新的)主工作簿中
本文关键字:工作簿 一个 新的 合并 使用 | 更新日期: 2023-09-27 18:00:42
我需要一些帮助,将多个工作簿集成到一个主工作簿中。我正在尝试使用以下代码。如果有人能帮我解决以下问题,我将不胜感激:
- 保存包含所有工作表的最终(主)工作簿
- 在复制到主工作簿时,不同工作簿中的工作表不应格式松散
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Interop.Excel;
using System.IO;
namespace IntegrationMacro
{
class Program
{
static void Main(string[] args)
{
Excel.Application app = new Excel.Application();
app.Visible = true;
app.Workbooks.Add("");
app.Workbooks.Add(@"C:'Users'ssehgal'Documents'Excel-Files-For-Macro'WorkBook1.xls");
app.Workbooks.Add(@"C:'Users'ssehgal'Documents'Excel-Files-For-Macro'WorkBook2.xls");
for (int i = 2; i <= app.Workbooks.Count; i++)
{
for (int j = 1; j <= app.Workbooks[i].Worksheets.Count; j++)
{
Excel.Worksheet ws = (Excel.Worksheet)app.Workbooks[i].Worksheets[j];
ws.Copy(app.Workbooks[1].Worksheets[1]);
}
}
}
}
}
var app = new Application() { Visible = true };
var master = app.Workbooks.Add();
// repeat this for each workbook you need to combine...
app.Workbooks.Add(__PATH_TO_THE_WORKBOOK__)
.Worksheets.Cast<Worksheet>()
.ToList() // Move() will modify the source of enumeration, so we need to make a temp copy
.ForEach(x => x.Move(master.Sheets[1]));