У меня такая же проблема. Я прочитал всю ветку и попробовал приведенные примеры. Я добавил эти строки в пример кода:
xlRange = (Excel.Range)xlWorkSheet.get_Range("B1", "C1");
xlRange.Merge(Type.Missing);
xlRange = (Excel.Range)xlWorkSheet.get_Range("H5", "M5");
xlRange.Merge(Type.Missing);
xlRange = (Excel.Range)xlWorkSheet.get_Range("N5", "V5");
xlRange.Merge(Type.Missing);
xlRange = (Excel.Range)xlWorkSheet.get_Range("W5", "Z5");
xlRange.Merge(Type.Missing); // up to here everything seems fine
///////////////////////////////////////////////////////////
// if I add these lines below, the process just hanged until
// I manually close the form
xlRange = (Excel.Range)xlWorkSheet.get_Range("AA5", "AB5");
xlRange.Merge(Type.Missing);
xlBorder.Borders.Weight = Excel.XlBorderWeight.xlThin;
///////////////////////////////////////////////////////////
Я также добавил это перед выпуском объекта Excelsheet:
Marshal.ReleaseComObject (xlRange);
Пожалуйста, скажите мне, как мне поступить, потому что я почти сдаюсь. Ваш ответ очень ценится. К вашему сведению, я новичок и с нетерпением жду вашего ответа.
Спасибо,
джордж