using Excel = Microsoft.Office.Interop.Excel;
先引用Excel再輸入以下代碼
private void button2_Click(object sender, EventArgs e)
{
//建立一個Excel應用
Excel.Application app1 = new Excel.Application();
//預設情況下,Excel程式在背景運作,使其可見
app1.Visible = true;
if (app1 == null)
{
MessageBox.Show("沒有安裝Excel!", "提示");
return;
}
//在Excel中添加一個工作簿同時傳回book1
Microsoft.Office.Interop.Excel.Workbook book1 = app1.Workbooks.Add(Type.Missing);
//在Excel中添加一個工作表将其傳回到sheet1
Microsoft.Office.Interop.Excel.Worksheet sheet1 = (Microsoft.Office.Interop.Excel.Worksheet)book1.Sheets[1];
//聲明适當變量擷取行列數
string sValue;
int i, iRows = dataGridView1.Rows.Count - 1;
int j, iCols = dataGridView1.Columns.Count;
//在第一行寫入各标題
for (j = 0; j < iCols; j++)
{
sheet1.Cells[1, j + 1] = dataGridView1.Columns[j].HeaderText;
}
//從第二行開始寫資料
for (i = 0; i < iRows; i++)
{
for (j = 0; j < iCols; j++)
{
sValue = dataGridView1.Rows[i].Cells[j].Value.ToString();
if (dataGridView1[j, i].ValueType == typeof(string))
sValue = "" + sValue;
sheet1.Cells[i + 2, j + 1] = sValue;
}
}
//設定為自動列寬
sheet1.Columns.EntireColumn.AutoFit();
//儲存檔案到指定地點
string savePath = "C:\\Users\\Administrator\\Desktop\\課程" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";
book1.SaveAs(savePath);
//退出Excel程式
book1.Close();
book1 = null;
app1.Quit();
app1 = null;
MessageBox.Show("導出資料成功!", "提示");
}