您的位置:首页 > 编程语言 > C#

C# 导出dataGridView中的值到Excel

2017-03-12 19:11 423 查看

方法/步骤

添加Office Excel引用,在.net下面。





程序代码引用:using Excel = Microsoft.Office.Interop.Excel;





添加事件控件“导出Excel”





双击“导出Excel”空间添加代码:

private void button2_Click(object sender, EventArgs e)

{

string fileName = "";

string saveFileName = "";

SaveFileDialog saveDialog = new SaveFileDialog();

saveDialog.DefaultExt = "xls";

saveDialog.Filter = "Excel文件|*.xls";

saveDialog.FileName = fileName;

saveDialog.ShowDialog();

saveFileName = saveDialog.FileName;

if (saveFileName.IndexOf(":") < 0) return; //被点了取消

Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();

if (xlApp == null)

{

MessageBox.Show("无法创建Excel对象,您的电脑可能未安装Excel");

return;

}

Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;

Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);

Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1

//写入标题

for (int i = 0; i < dataGridView1.ColumnCount; i++)

{worksheet.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;}

//写入数值

for (int r = 0; r < dataGridView1.Rows.Count; r++)

{ for (int i = 0; i < dataGridView1.ColumnCount; i++)

{

worksheet.Cells[r + 2, i + 1] = dataGridView1.Rows[r].Cells[i].Value;

}

System.Windows.Forms.Application.DoEvents();

}

worksheet.Columns.EntireColumn.AutoFit();//列宽自适应

MessageBox.Show(fileName + "资料保存成功", "提示", MessageBoxButtons.OK);

if (saveFileName != "")

{

try

{workbook.Saved = true;

workbook.SaveCopyAs(saveFileName); //fileSaved = true;

}

catch (Exception ex)

{//fileSaved = false;

MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message);

}

}

xlApp.Quit();

GC.Collect();//强行销毁 }

}





重新生成“解决方案”后测试。





通过以上,成功的将datagridview中的值导出到excel中了。






END
经验谨供参考!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: