Member 14376506 Ответов: 1

Как объединить ячейки excel на основе значения ячейки с помощью C#


Я использую excel interop с c# я хочу объединить все соседние ячейки, содержащие определенное значение, используя код c#.

Как объединить все ячейки, содержащие значение (Объединенные ячейки), используя код c#.

Что я уже пробовал:

Я пытаюсь это сделать,

Строка startRange = "C2";
Строка endRange = "C7";
String repetitiveValue = "Объединенные ячейки";
Microsoft.Офис.Взаимодействие.Превосходить.Диапазон xlrange = (Microsoft.Офис.Взаимодействие.Превосходить.Диапазон)objexcelapp.Cells[startRange, endRange];
xlrange.Значение2 = repetitiveValue;
xlrange.Слияние(System.Отражение.Недостающий.Ценность);

1 Ответов

Рейтинг:
1

mohamedenew

Вы можете использовать этот пакет , он может делать все для excel, он очень прост в использовании.

Галерея NuGet | EPPlus 4.5.3.1[^]

например, если вы хотите экспортировать DataTable в Excel

using (ExcelPackage pck = new ExcelPackage(newFile))
{
  ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Accounts");
  ws.Cells["A1"].LoadFromDataTable(dataTable, true);
  pck.Save();
}


Member 14376506

Я установлю (EPPlus) эту библиотеку и использую приведенный ниже код:

использование (var excel = new ExcelPackage(new System.IO.FileInfo(@"physical_address_of_your_xslx_file")))
{
var sheet1 = excel.Рабочая тетрадь.Листов["Лист1"];
лист 1.Клетки["С2:С7"].Слияние = true;
лист 1.Клетки["С2:С7"].Стиль.VerticalAlignment = OfficeOpenXml.Стиль.Эксельвертикальное выравнивание.Дно;
лист 1.Ячейки["C2"].Value = "значение";

в Excel.Сохранить();
}

Но он показывает исключительную ошибку: необработанное исключение типа "System.NullReferenceException" произошло в ExportExcel.exe дополнительная информация: ссылка на объект не установлена на экземпляр объекта.