Logo Background RSS

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

  • 本文由 秦 涛秦 涛 于 2008年十一月2日 发表在 《C#/.NET
    交流信息: 哇!现在有 3 位大侠指点过了.3 条评论 Comments (651 views)

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

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

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

    第二个就是 打印数据

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

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

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

     

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

    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. }
  • 我们的说明!

    欢迎转载,但请您以链接形式注明本文出处和本站原文链接,下面是链接形式,谢谢合作!
    出处链接:Allove of Paradise
    原文链接:http://blog.allove.org/archives/c-sharp-excel-datagridvie.html
3 条评论
  1. #1 JoBru
    十一月 2nd, 2008 at 7:17 下午

    貌似你这里的digg有点问题,用IE进来就卡一段
    不过firefox就没问题
    原来如此上次我说enter键不能用也是在IE下,firefox一切正常

    [回复]

    Post ReplyPost Reply
  2. #2 zonghua
    十一月 4th, 2008 at 10:48 上午

    你怎么一会C#,一会java的

    [回复]

    qintao Reply:

    C#和JAVA 都差不多,看项目大小对语言的要求了,两者都经常用

    [回复]

    Post ReplyPost Reply
Leave a Comment

ALLOVE短信