C#实现读写EXCEL数据—附实例导出DATAGRIDVIEW 数据到EXCEL

来源:互联网 发布:vscode c语言环境 编辑:程序博客网 时间:2024/05/16 18:45

C#实现读写EXCEL数据—附实例导出DATAGRIDVIEW 数据到EXCEL

利用C#中的DATAGRIDVIEW 控件操作数据是很方便的 在使用的时候只需要将DATASET中数据导入就OK 了

在实际项目中需要用到的两个DATAGRIDVIEW 操作办法

 第一就是导出数据至本地文件(一般为EXCEL ) 

第二个就是 打印数据

在实际项目中导出数据和打印数据 是非常重要的,因为往往领导都不操作你所开发的软件,他们往往是让员工上交打印的报表就可以了 反正我了解的一些国企单位是这样的,  所以说打印和导出漂亮的报表对你项目成功有很大的帮助 

现在分享一个实习DATAGIRDVIEW 到EXCEL 的方法 ,供大家参考和学习使用, 实现打印的方法请查看

《如何C#在中实现DATAGRIDVIEW 数据打印 》

 

方法只需要传入一个DATAGRIDVIEW 参数就可以将数据导出到目的文件中  

下载: DataGridView.cs
  1. public void outExcel(DataGridView gridView)
  2. {
  3. if (gridView.Rows.Count == 0)
  4. {
  5. MessageBox.Show("没有数据可供导出!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  6. return;
  7. }
  8. else
  9. {
  10.  
  11. SaveFileDialog saveFileDialog = new SaveFileDialog();
  12. saveFileDialog.Filter = "Execl files (*.xls)|*.xls";
  13. saveFileDialog.FilterIndex = 0;
  14. saveFileDialog.RestoreDirectory = true;
  15. saveFileDialog.CreatePrompt = true;
  16. saveFileDialog.Title = "保存为Excel文件";
  17. saveFileDialog.ShowDialog();
  18.  
  19. if (saveFileDialog.FileName.IndexOf(":") < 0) return; //被点了"取消"
  20.  
  21. Stream myStream;
  22. myStream = saveFileDialog.OpenFile();
  23. StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
  24. string columnTitle = "";
  25. try
  26. {
  27. //写入列标题
  28. for (int i = 0; i < this.dataGridView1.ColumnCount; i++)
  29. {
  30. if (i > 0)
  31. {
  32. columnTitle += "/t";
  33. }
  34. columnTitle += this.dataGridView1.Columns[i].HeaderText;
  35. }
  36. sw.WriteLine(columnTitle);
  37.  
  38. //写入列内容
  39. for (int j = 0; j
  40. {
  41. string columnValue = "";
  42. for (int k = 0; k < this.dataGridView1.Columns.Count; k++)
  43. {
  44. if (k > 0)
  45. {
  46. columnValue += "/t";
  47. }
  48. if (this.dataGridView1.Rows[j].Cells[k].Value == null)
  49. columnValue += "";
  50. else
  51. columnValue += this.dataGridView1.Rows[j].Cells[k].Value.ToString().Trim();
  52. }
  53. sw.WriteLine(columnValue);
  54. }
  55. sw.Close();
  56. myStream.Close();
  57. }
  58. catch (Exception e)
  59. {
  60. MessageBox.Show(e.ToString());
  61. }
  62. finally
  63. {
  64. sw.Close();
  65. myStream.Close();
  66. }
  67. }
  68. }
原创粉丝点击