public DataTable GetTable()
        {
            DataTable dt=new DataTable();
            using ( OracleDataReader odb=DBUtility.ExecuteReader(DBUtility.ConnString,CommandType.Text,STable))
            {
                if (odb.HasRows)
                {
                    for (int i = 0; i < odb.FieldCount; i++)
                    {
                        DataColumn dc = new DataColumn();
                        dc.ColumnName = odb.GetName(i);
                        dt.Columns.Add(dc);
                    }
                }
                while (odb.Read())
                {
                    DataRow dr = dt.NewRow();
                    for (int i = 0; i < dt.Columns.Count; i++)
                    {
                        dr[i] = odb[i].ToString();
                    }
                    dt.Rows.Add(dr);
                }
            }
            return dt;
        }
这是读取了表。

解决方案 »

  1.   

    用OleDb可以的。要么就是一点点的往excel文件里写
      

  2.   

     private static void FileCrear(string[] swtreaStr)//导出Excel
            {
                try
                {
                    File.WriteAllLines(System.Environment.CurrentDirectory + "\\WRGNDA_" +//System.Environment.CurrentDirectory改成你的指定文件夹
                         string.Format("{0:yyyyMMdd}", System.DateTime.Today) +".XLS",
                         swtreaStr, System.Text.Encoding.GetEncoding("gb2312"));
                }
                catch
                {
                    return;
                }
            }
            public static void ExportToExcel(DataTable Table1)
            {
                string[] temStr = new string[Table1.Rows.Count+1];
                for (int i = 0; i < Table1.Columns.Count; i++)
                {
                    if (i > 0)
                    {
                        temStr[0] += "\t";
                    }
                    temStr[0] += Table1.Columns[i].ColumnName;            }
                for (int j = 0; j < Table1.Rows.Count; j++) //写内容
                {
                    for (int k = 0; k < Table1.Columns.Count; k++)
                    {
                        if (k > 0)
                        {
                            temStr[j + 1] += "\t";
                        }
                        temStr[j + 1] += Table1.Rows[j][k];
                    }
                }
                FileCrear(temStr);
            }
      

  3.   

    假使.excel的Path为:G:\Program\Work\LineStop\123.xls
      

  4.   

    或是添加excel的com组件.public void doExport(DataTable table , string strExcelFileName)
    {
    Excel.ApplicationClass excel = new Excel.ApplicationClass();//建立Excel对象
    int rowIndex = 1;
    int colIndex=0;
    excel.Application.Workbooks.Add(true);//Excel表为添加状态
    foreach(DataColumn col in table.Columns)//填充表头
    {
    colIndex++;//列索引值递增
    excel.Cells[1,colIndex] = col.ColumnName;//指定列填充数据
    } foreach(DataRow row in table.Rows)//填充数据
    {
    rowIndex++;
    colIndex=0;
    foreach(DataColumn col in table.Columns)
    {
    colIndex++;
    excel.Cells[rowIndex,colIndex] = row[col.ColumnName].ToString();
    }
    }
    excel.Visible = false;
    //excel.Visible = true;
    excel.DisplayAlerts = false;
    excel.ActiveWorkbook.SaveAs(strExcelFileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    excel.Quit();
    excel=null;
    GC.Collect();//垃圾回收
    }
      

  5.   

    谢谢Sant11!成功了。同时,感谢lovehongyun,你的方法,我也会时时的。
    谢谢大家的关照!