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();
}
}
}
Слияние ячеек в Excel
Создание документа Excel реализую следующим методом:
Код:
Надо объединить несколько ячеек.
Пробую так:
Код:
range.Merge((object)"B2:B3");
Не получается... Подскажите, пожалуйста где ошибка или как еще можно это сделать.