Так что я пытался создать агрегат листа excel. В моей работе мы получаем людей, которые присылают нам кучу отдельных файлов excel, которые связаны друг с другом только с одним листом.Как слить несколько файлов excel в один файл excel
Я следовал за некоторой степенью this previous post's ideas. Но после этого некоторые из листов Excel, которые я скопировал, выглядели пустыми. Только некоторые. Я понятия не имею, почему некоторые из них пустые, а другие - в порядке.
Вот код, я использую, чтобы открыть и скопировать файлы первенствовать
OpenFileDialog browse = new OpenFileDialog();
browse.Multiselect = true;
DialogResult result = browse.ShowDialog();
if (result == DialogResult.OK)
try //try to open it. If its a proper excel file
{
excel = new Excel.Application();
excel.Workbooks.Add("");
finalized = excel.Workbooks[1];
excel.SheetsInNewWorkbook = 1;
for(int i=0; i< browse.FileNames.Length; i++)
{
excel.Workbooks.Add(browse.FileNames[i]);
}
//skip the first workbook as it is the finalized one
//also note everything in excel starts at 1 and not 0
for(int i=2; i<excel.Workbooks.Count; i++)
{
int count = excel.Workbooks[i].Worksheets.Count;
excel.Workbooks[i].Activate();
for (int j = 1; j < count; j++)
{
Excel._Worksheet pastee = (Excel._Worksheet)excel.Workbooks[i].Worksheets[j];
Excel._Worksheet sheet = (Excel._Worksheet)finalized.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
//Excel._Worksheet sheet = finalized.Sheets[1];
pastee.Copy(Before: sheet);
}//end of for j
}//end of for i
}//end of try
Вот код, я использую, чтобы сохранить первенствовать файл
SaveFileDialog browse = new SaveFileDialog();
browse.Title = "Save as Excel";
browse.Filter = "Excel workbook | *.xlsx";
DialogResult result = browse.ShowDialog();
finalized.SaveAs(browse.FileName, Excel.XlFileFormat.xlWorkbookDefault);
MessageBox.Show("Success", "Message");
//unlock the file
Global.releaseComObjects(finalized, excel);
Что вы хотите сделать на самом деле? Вы хотите скопировать файлы excel, которые не являются пустыми или являются файлами Excel при копировании? @Alexander Ryan Baggett –
Как я и пытался объяснить в описании. Я хочу открыть несколько файлов excel. Скопируйте каждый лист из этих файлов в один новый файл excel. –
Листы Excel в файлах, которые я открываю, не пустые. –