private void eksportujDaneDoExcelToolStripMenuItem_Click(object sender, EventArgs e) // Eksport do Excela
{
//Create an Excel App
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Workbook wb = xlApp.Workbooks.Add(XlSheetType.xlWorksheet);
Worksheet ws = (Worksheet)xlApp.ActiveSheet;
//Scalanie
ws.Range["A1:A2"].Merge();
ws.Range["B1:B2"].Merge();
ws.Range["C1:D1:E1"].Merge();
ws.Range["F1:G1:H1:I1"].Merge();
ws.Range["J1:K1"].Merge();
ws.Range["N1:O1"].Merge();
ws.Range["P1:Q1:R1"].Merge();
//Uzupełnienie na sztywno
ws.Cells[1, 1] = "L.p";
ws.Cells[1, 2] = "Dłużnik";
ws.Cells[1, 3] = "Saldo początkowe";
ws.Cells[1, 6] = "Przypisy";
ws.Cells[1, 10] = "Odpisy";
ws.Cells[1, 12] = "Do wpłaty";
ws.Cells[1, 13] = "Do zwrotu";
ws.Cells[1, 14] = "Wpłaty/Zwroty";
ws.Cells[1, 16] = "Saldo końcowe";
ws.Cells[2, 3] = "Odsetki";
ws.Cells[2, 4] = "Zaległości";
ws.Cells[2, 5] = "Nadpłaty";
ws.Cells[2, 6] = "Temin\npłatności";
ws.Cells[2, 7] = "Liczba\ndni";
ws.Cells[2, 8] = "Liczba\ngodzin";
ws.Cells[2, 9] = "Suma";
ws.Cells[2, 10] = "Liczba\ndni/go";
ws.Cells[2, 11] = "Suma";
ws.Cells[2, 12] = "Suma";
ws.Cells[2, 13] = "Suma";
ws.Cells[2, 14] = "Data\nwpłaty";
ws.Cells[2, 15] = "Suma";
ws.Cells[2, 16] = "Odsetki";
ws.Cells[2, 17] = "Zaległości";
ws.Cells[2, 18] = "Nadpłaty";
//Uzupełnienie danych z dataGridView
for (int j = 3; j <= dataGridView1.Rows.Count+1; j++)
{
for (int i = 1; i <= 18; i++)
{
ws.Cells[j, i] = dataGridView1.Rows[j - 3].Cells[i - 1].Value;
}
}
//Ustawienie rozmiaru czcionki dla arkusza Excel.
int RowsCount = dataGridView1.Rows.Count+1;
string RowsCountString = "R";
RowsCountString = RowsCountString + RowsCount.ToString();
ws.get_Range("A1", RowsCountString).Cells.Font.Size = 8;
//Ustawienie obramowania dla arkusza Excel.
for (int j = 1; j <= RowsCount; j++)
{
for (int i = 1; i <= 18; i++)
{
ws.Cells[j, i].Borders.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);
}
}
//Wypozycjonowanie zawartości komórek w arkuszu Excel.
ws.get_Range("A1", "A2").Style.VerticalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
ws.get_Range("A1", "A2").Style.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
//Ustawienie szerokości kolumn już w arkuszu Excel.
ws.Columns[1].ColumnWidth = 3;
ws.Columns[2].ColumnWidth = 20;
ws.Columns[3].ColumnWidth = 5;
ws.Columns[4].ColumnWidth = 7;
ws.Columns[5].ColumnWidth = 6;
ws.Columns[6].ColumnWidth = 8;
ws.Columns[7].ColumnWidth = 4.5;
ws.Columns[8].ColumnWidth = 4.5;
ws.Columns[9].ColumnWidth = 4;
ws.Columns[10].ColumnWidth = 4.5;
ws.Columns[11].ColumnWidth = 4;
ws.Columns[12].ColumnWidth = 6;
ws.Columns[13].ColumnWidth = 6;
ws.Columns[14].ColumnWidth = 8;
ws.Columns[15].ColumnWidth = 5;
ws.Columns[16].ColumnWidth = 5;
ws.Columns[17].ColumnWidth = 7;
ws.Columns[18].ColumnWidth = 6;
xlApp.Visible = true;
}
Calutki kod którym generuje plik a potem eksportuje i ustawiam tak jak potrzebuje .