將dataGridView中的資料匯出到Excel中
阿新 • • 發佈:2018-12-13
//需要引用Microsoft.Office.Excel的資料集
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();excel.Application.Workbooks.Add(true);
//輸出列名
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;
}
//對每一列賦值
for (int i = 0; i < dataGridView1.RowCount-1; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
if (dataGridView1[j, i].ValueType == typeof(string))
{
//excel的列是從1開始
excel.Cells[i + 2, j +1] = "'" + dataGridView1.Rows[i].Cells[j].Value.ToString();
}
else
{
excel.Cells[i + 2, j +1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
}
}
}
//設定禁止彈出儲存和覆蓋的詢問提示框
excel.Visible = false;
excel.DisplayAlerts = false;
excel.AlertBeforeOverwriting = false;
//儲存到臨時工作簿
//excel.Application.Workbooks.Add(true).Save();
//儲存檔案
try
{
excel.Save("E:");
excel.Quit();
MessageBox.Show("檔案匯出成功", "完成", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}