日期:2014-05-17  浏览次数:20403 次

求一个datatable数据,导入excel的例子。
在百度找的好多不合适。
数据已经从数据库读出来了。
主要要求是:导入到excel,实现特定的行,列导入。
------最佳解决方案--------------------
GridView gv = new GridView();
            gv.DataSource = datatable;
            gv.DataBind();
            using (StreamWriter sw=new StreamWriter("C:\\test.xls"))
            {
                using (HtmlTextWriter htw = new HtmlTextWriter(sw))
                {
                    gv.RenderControl(htw);
                    htw.BeginRender();
                }
            }
------其他解决方案--------------------

private DataTable ExcelToDataTable(string FilePath)
    {
        string strConn;
        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + FilePath + ";Extended Properties='Excel 8.0; IMEX=1'";
        OleDbConnection conn = new OleDbConnection(strConn);
        OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [ItemLocation$]", strConn);
        DataSet myDataSet = new DataSet();
        try
        {
            myCommand.Fill(myDataSet);

            // 取出数据后删除文件
            // 删除已存在的文件
            if (File.Exists(FilePath))
            {
                File.Delete(FilePath);
            }
        }
        catch
        {

        }
        return myDataSet.Tables[0];
    }


通过Oledb的方式访问Excel   查询并存入DataTable   再取数据就可以了
------其他解决方案--------------------

取出一个满足你特定行、特定列的datatable再倒入到excel
------其他解决方案--------------------



        System.Web.UI.WebControls.GridView gvExport = null;
      &nbs