1。
datagrid有排序,分页,还有“编辑”,“删除”列
datagrid 如何导出到EXECL。2。
能不能直接将DataTable的内容输出到EXECL,如何实现?
求代码。

解决方案 »

  1.   

    csdn這樣的例子太多了,樓主何不先搜一下:)
      

  2.   

    /// <summary>
      /// 读取Excel文档
      /// </summary>
      /// <param name="Path">文件名称</param>
      /// <returns>返回一个数据集</returns>
      public DataSet ExcelToDS(string Path)
      {
       string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";
       OleDbConnection conn = new OleDbConnection(strConn);
       conn.Open();  
       string strExcel = "";   
       OleDbDataAdapter myCommand = null;
       DataSet ds = null;
       strExcel="select * from [sheet1$]";
       myCommand = new OleDbDataAdapter(strExcel, strConn);
       ds = new DataSet();
       myCommand.Fill(ds,"table1");   
       return ds;
      }
    /// <summary>
      /// 写入Excel文档
      /// </summary>
      /// <param name="Path">文件名称</param>
      public bool SaveFP2toExcel(string Path)
      {
       try
       {
        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";
        OleDbConnection conn = new OleDbConnection(strConn);
        conn.Open();  
        System.Data.OleDb.OleDbCommand cmd=new OleDbCommand ();
        cmd.Connection =conn;
        //cmd.CommandText ="UPDATE [sheet1$] SET 姓名='2005-01-01' WHERE 工号='日期'";
        //cmd.ExecuteNonQuery ();
        for(int i=0;i<fp2.Sheets [0].RowCount -1;i++)
        {
         if(fp2.Sheets [0].Cells[i,0].Text!="")
         {
          cmd.CommandText ="INSERT INTO [sheet1$] (工号,姓名,部门,职务,日期,时间) VALUES('"+fp2.Sheets [0].Cells[i,0].Text+ "','"+
           fp2.Sheets [0].Cells[i,1].Text+"','"+fp2.Sheets [0].Cells[i,2].Text+"','"+fp2.Sheets [0].Cells[i,3].Text+
           "','"+fp2.Sheets [0].Cells[i,4].Text+"','"+fp2.Sheets [0].Cells[i,5].Text+"')";
          cmd.ExecuteNonQuery ();
         }
        }
        conn.Close ();
        return true;
       }
       catch(System.Data.OleDb.OleDbException ex)
       {
        System.Diagnostics.Debug.WriteLine ("写入Excel发生错误:"+ex.Message );
       }
       return false;
      }
      

  3.   

    第二个问题可以参考
    http://blog.csdn.net/happer6012/archive/2005/06/08/390440.aspx
      

  4.   

    正因为没有搜索到才来问的:我搜索到的方法都是对BoundColumn的并且没有按钮列。而我是用了模版列,我的第一列是“编辑”,第而二列“删除”
    ,第三列是个单选按钮,第四列是个复选按钮。
      

  5.   

    还有
    我说的DataTable是DataTable对象,不是表格。
    那些方法我试了都不行。
      

  6.   

    正因为没有搜索到才来问的:我搜索到的方法都是对BoundColumn的并且没有按钮列。而我是用了模版列,我的第一列是“编辑”,第而二列“删除”
    ,第三列是个单选按钮,第四列是个复选按钮。