///以table的形式顯示數據
public static void FillExcel(DataTable table)
{
//創建Excel.Application對象
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true);
DataRowCollection rows = table.Rows;
DataColumnCollection columns = table.Columns;
IEnumerator col = columns.GetEnumerator();
IEnumerator row = rows.GetEnumerator();
int k = 1;
//該循環添加表頭
while (col.MoveNext())
{
DataColumn ch = (DataColumn)col.Current;
excel.Cells[1, k] = ch.ColumnName;
k++;
}
//該循環添加內容
int i = 1;
while (row.MoveNext())
{
DataRow drow = (DataRow)row.Current;
for (int j = 1; j <= table.Columns.Count; j++)
{
string dess = drow[j - 1] + "";
excel.Cells[i + 1, j] = dess;
}
i++;
}
excel.Visible = true;
}
///以datagirdView顯示數據
/// <summary>
/// 填充某個Excel文件
/// </summary>
/// <param name="grid">填充數據源</param>
public static void FillExcel(DataGridView grid)
{
//創建Excel.Application對象
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true);
DataGridViewColumnCollection cols = grid.Columns;
DataGridViewRowCollection rows = grid.Rows;
IEnumerator col = cols.GetEnumerator();
int k = 1;
//設置表頭
while (col.MoveNext())
{
DataGridViewColumn ch = (DataGridViewColumn)col.Current;
excel.Cells[1, k] = ch.HeaderText;
k++;
}
//循環添加內容
int i = 1;
foreach (DataGridViewRow ro in rows)
{
for (int j = 0; j < grid.Columns.Count; j++)
{
string dess = ro.Cells[j].Value + "";
excel.Cells[i + 1, j + 1] = dess;
}
i++;
}
excel.Visible = true;
}