C# windows uygulamasında, Çok sayıda excel çalışma kitabım var, ne istiyorum çalışma sayfalarını excel çalışma kitabından tek bir çalışma kitabına kopyalamak. Bu mümkün, ancak bunu yapmak için excel çalışma kitaplarını açmak zorundayım.excel çalışma sayfalarını kopyalamak nasıl excel dosyası C# winforms açmadan başka bir excel çalışma kitabına?
Excel.Application app = new Excel.Application();
app.Visible = true;
app.WindowState = XlWindowState.xlMinimized;
app.Workbooks.Add("");
app.Workbooks.Add(@"Path\WorkBook1.xlsx");
app.Workbooks.Add(@"Path\WorkBook2.xlsx");
for (int i = 2; i <= app.Workbooks.Count; i++)
{
int count = app.Workbooks[i].Worksheets.Count;
app.Workbooks[i].Activate();
for (int j = 1; j <= count; j++)
{
Excel._Worksheet ws = (Excel._Worksheet)app.Workbooks[i].Worksheets[j];
ws.Select(true);
ws.Cells.Select();
Excel.Range sel = (Excel.Range)app.Selection;
sel.Copy(Type.Missing);
Excel._Worksheet sheet = (Excel._Worksheet)app.Workbooks[1].Worksheets.Add(
Type.Missing, Type.Missing, Type.Missing, Type.Missing
);
sheet.Paste(Type.Missing, Type.Missing);
sheet.Name = app.Workbooks[i].Worksheets[j].Name;
}
}
app.DisplayAlerts = false;
app.Workbooks[3].Close();
app.Workbooks[2].Close();
app.DisplayAlerts = true;
Cursor = Cursors.Default;
MessageBox.Show("Successfully Generated Excel...!", "Excel Tool", MessageBoxButtons.OK, MessageBoxIcon.Information);
Excel sayfalarını açmadan tüm verileri stilleriyle birlikte kopyalamak mümkün mü?
Excel dosyasını açmadan bir çalışma kitabından tek sayfaları kopyalamak mümkün değildir. Ancak, yalnızca kopyalama işleminin arka planda çalışmasını istiyorsanız, bunu ayrı bir Excel uygulamasında yapabilirsiniz. Bir keresinde, başlangıç makrolarını içeren bazı şablon sayfalarını kopyalamak zorunda kaldım. Bu şablonu makrolar kapalıyken ayrı (görünmez) bir Excel uygulamasında açmak zorunda kaldım. – StuartRedmann