ЗА'join'ИТЬ .xlsx

  • Автор темы Автор темы soprano
  • Дата начала Дата начала

soprano

Client
Регистрация
25.08.2011
Сообщения
1 058
Реакции
1 276
Баллы
113
Нужно объединить файлы .xlsx в один. Данные однотипные в каждом файле, 1 и 2 колонка.
Делаю таким кодом
C#:
Развернуть Свернуть Копировать
        Excel.Application app = new Excel.Application();
        app.Visible = true;
        app.Workbooks.Add(project.Directory + @"\result.xlsx");
        app.Workbooks.Add(project.Directory + @"\1.xlsx");
        app.Workbooks.Add(project.Directory + @"\2.xlsx");
        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]);
            }
        }
        app.Workbooks[1].SaveCopyAs(project.Directory + @"\result.xlsx");
       
        app.Workbooks.Add(project.Directory + @"\result.xlsx").Close(0);
        app.Workbooks.Add(project.Directory + @"\1.xlsx").Close(0);
        app.Workbooks.Add(project.Directory + @"\2.xlsx").Close(0);
        app.Quit();
Все сохраняется в result.xlsx но каждый файл - в отдельном листе, а надо, чтобы все данные объединялись на 1 листе.
Кто подскажет - где ошибка?
 
  • Оценить
Реакции: timoxa949
Нужно объединить файлы .xlsx в один. Данные однотипные в каждом файле, 1 и 2 колонка.
Делаю таким кодом
C#:
Развернуть Свернуть Копировать
        Excel.Application app = new Excel.Application();
        app.Visible = true;
        app.Workbooks.Add(project.Directory + @"\result.xlsx");
        app.Workbooks.Add(project.Directory + @"\1.xlsx");
        app.Workbooks.Add(project.Directory + @"\2.xlsx");
        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]);
            }
        }
        app.Workbooks[1].SaveCopyAs(project.Directory + @"\result.xlsx");
      
        app.Workbooks.Add(project.Directory + @"\result.xlsx").Close(0);
        app.Workbooks.Add(project.Directory + @"\1.xlsx").Close(0);
        app.Workbooks.Add(project.Directory + @"\2.xlsx").Close(0);
        app.Quit();
Все сохраняется в result.xlsx но каждый файл - в отдельном листе, а надо, чтобы все данные объединялись на 1 листе.
Кто подскажет - где ошибка?


Привет, можно весь код увидеть, стала задача объединить два файла excel в один, и чтобы они были в разных листах.
 
Или если у кого есть C# код как две таблицы в одну объединить, чтобы они были в разных листах, поделитесь пожалуйста, очень нужно. Спасибо.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)