• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

Слияние ячеек в Excel

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

Balda

#1
Пишу в MS VS .NET 2008.
Создание документа Excel реализую следующим методом:
Код:
private void ConvertToExcel()
{
Excel.Application app = null;
Excel.Workbooks wbs = null;
Excel.Workbook wb = null;
Excel.Worksheet ws = null;

try
{
app = new Excel.ApplicationClass();
app.Visible = true;

wbs = (Excel.Workbooks)(app.GetType().InvokeMember("Workbooks",BindingFlags.GetProperty, null, app, null));
wb = (Excel.Workbook)(wbs.GetType().InvokeMember("Add",BindingFlags.InvokeMethod, null, wbs, null));

ws = (Excel.Worksheet)wb.ActiveSheet;
Excel.Range range = null;
ws.PageSetup.PaperSize = Excel.XlPaperSize.xlPaperA4;

//заполняем таблицу
for(int i=0; i<Count+1;i++)
for(int j=0;j<this.dataSet2.Tables[0].Columns.Count;j++)
{
range = (Excel.Range)ws.Cells[i+1,j+1];
if((i+1)==1)
{
range.Value2 = this.dataSet2.Tables[0].Columns[j].ColumnName.ToString();	

}
else
{
if ((j + 1) == 1)
range.Value2 = i.ToString();
else
range.Value2 = this.dataGrid1[i - 1, j].ToString();
}
}
range.Borders.ColorIndex = 1;		
}

System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
}
finally
{
if (ws != null)				
System.Runtime.InteropServices.Marshal.ReleaseComObject(ws);
if (wb != null)  		 
System.Runtime.InteropServices.Marshal.ReleaseComObject(wb);
if (app != null)
{			
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();	

}
}		
}
Надо объединить несколько ячеек.
Пробую так:
Код:
range.Merge((object)"B2:B3");
Не получается... Подскажите, пожалуйста где ошибка или как еще можно это сделать.