桂鬼

 

讲属性表里内容一键导出到excel

 

  public void table2excel(System.Data.DataTable m_DataTable)
       {


           SaveFileDialog kk = new SaveFileDialog();
           kk.Title = "保存EXECL文件";
           kk.Filter = "EXECL文件(*.xls) |*.xls |所有文件(*.*) |*.*";
           kk.FilterIndex = 1;
           if (kk.ShowDialog() == DialogResult.OK)
           {
               string FileName = kk.FileName;
               if (File.Exists(FileName))
                   File.Delete(FileName);
               System.IO.FileStream objFileStream;
               StreamWriter objStreamWriter;
               string strLine = "";
               objFileStream = new System.IO.FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write);
               objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode);
               for (int i = 0; i < m_DataTable.Columns.Count; i++)
               {
                   strLine = strLine + m_DataTable.Columns[i].Caption.ToString() + Convert.ToChar(9);
               }
               objStreamWriter.WriteLine(strLine);
               strLine = "";

               for (int i = 0; i < m_DataTable.Rows.Count; i++)
               {
                   for (int j = 0; j < m_DataTable.Columns.Count; j++)
                   {
                       if (m_DataTable.Rows[i].ItemArray[j] == null)
                           strLine = strLine + " " + Convert.ToChar(9);
                       else
                       {
                           string rowstr = "";
                           rowstr = m_DataTable.Rows[i].ItemArray[j].ToString();
                           if (rowstr.IndexOf("\r\n") > 0)
                               rowstr = rowstr.Replace("\r\n", " ");
                           if (rowstr.IndexOf("\t") > 0)
                               rowstr = rowstr.Replace("\t", " ");
                           strLine = strLine + rowstr + Convert.ToChar(9);
                       }
                   }
                   objStreamWriter.WriteLine(strLine);
                   strLine = "";
               }
               objStreamWriter.Close();
               objFileStream.Close();
               MessageBox.Show(this, "保存EXCEL成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

           }
       }

此方法结合itable——》datatable的过程中使用。。此函数需要传入一个datatable参数。。就是itable——》datatable的这个东西。。。

需要注意的是

Convert.ToChar(9)。。这个东西是在excel中的TAB。隔开。用。。。

 

posted on 2010-06-02 23:18  桂鬼  阅读(317)  评论(0编辑  收藏  举报

导航