Как объединить два файла Excel?

1Boda2012

Client
Регистрация
13.02.2019
Сообщения
11
Реакции
2
Баллы
3
Есть 1 файл Excel, к нему в конец таблицы нужно добавить другой файл Excel. Как это сделать?

Пробовал выгружать 1 таблицу в список (переносил все строки), затем из списка во 2 таблицу, но во 2 таблице неправильно считывает список и поэтому все не работает.

Также пробовал через C# таким кодом, но ничего не сработало

  1. string destTableName = "mainbase"; // имя таблицы, в которую добавлять данные
  2. string[] tableNames = { "parsed" }; // имена таблиц, из которых добавлять данные
  3. lock (SyncObjects.TableSyncer) {
  4. foreach (string tableName in tableNames) {
  5. IZennoTable table = project.Tables[tableName];
  6. for (int i = 0; i < table.RowCount; i++)
  7. project.Tables[destTableName].AddRow(table.GetRow(i));
  8. }
  9. }
 
  • Спасибо
Реакции: phoenixs и alya_6
Тоже интересует данный вопрос: Как объединить две таблицы? Ни один топик через поиск "таблицы объединить" не дает какого-либо ответа.

У меня аналогичная ситуация, как у автора топика. 1 - кубик операции с таблицами->взять строки->все ->поместить в список. / 2 - ...операции с таблицами->Добавить список в таблицу - заносит все значения в один указанный столбец. тупик.
Уважаемые гуру, поделитесь знаниями, как же решить (наверняка простую задачу) на столь замечательном инструменте


-------------------

видимо нашел ответ
 
Последнее редактирование:
знаю только как через кубики, но хотелось бы через сишарп решение.
 
Если через C# код с использованием зенно методов работы с таблицами не получается, то можно использовать сторонние библиотеки, например: epplus.dll. там есть возможность добавить область (range) или построчно с перебором строк.
 
1 - кубик операции с таблицами->взять строки->все ->поместить в список. / 2 - ...операции с таблицами->Добавить список в таблицу -
Зачем строки помещать в список? Можно же взятую строку помещать в другую таблицу. Если же используете список, то проверяйте какие используются разделители ячеек, иначе возможны ошибки. Например разделитель Tab, при переносе в список изменится на пробелы, и потом при обратном переносе возможны ошибки разделения ячеек.
 
  • Спасибо
Реакции: phoenixs
Можно через C#. Склеит все таблицы с одинаковым расширением, в одну таблицу того же расширение. Конечная таблица, должна находится в отдельной папке.

string sourceDir = project.Variables["Path_Input"].Value;
string output = project.Variables["Path_Result"].Value;

File.WriteAllLines(output, Directory.EnumerateFiles(sourceDir, @"*.csv")
.Where(path => !path.Equals(output, StringComparison.OrdinalIgnoreCase))
.SelectMany(File.ReadLines));

IEnumerable<string> contents = Directory.EnumerateFiles(sourceDir, @"*.csv")
.SelectMany(File.ReadLines).ToList();

File.WriteAllLines(output, contents);
 
  • Спасибо
Реакции: Nick
как вариант
если формат .csv и данные одного типа в одной папке то простой вариант

copy *.txt RESULT.txt
 
  • Спасибо
Реакции: Nick и gelu4

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