对Excel表与数据库的操作

来源:互联网 发布:阿尔法编程 加盟 编辑:程序博客网 时间:2024/05/21 14:04

对Excel表与数据库的操作:

如果想将数据从数据库导到Excel表中方法很多:

  1. 1  最简单就是在Excel 表中直接导入     

      步骤如下:

  • 打开导入数据的Excle表格,选择工具栏数据;
  • 下拉栏目中选择导入外部数据
  • 选择导入数据
  • 新建一个源就可以连接到数据库进行数据的导入
  1. 2     PL/SQL Developer 中导入

    步骤如下:

  •  选择你要导出数据的Table;
  • 右击查询数据;
  • 查出数据后直接右击数据显示的区的以外的空白区,找到自制到Excle表就可以看到数据到Excel表了;
  1. 3   下面就是用代码编程
  • ADO实现,Excle就想数据库一的操作,但这种操作哪个Excel的表的一定格式要求!这个网上已说的很多了

 

        /// <summary>
        
/// 取得所有在Excel表中的所有数据集
        
/// </summary>
        
/// <param name="xlsPath">Excel表的路径</param>
        
/// <returns>数据集</returns>

        public DataSet ExeclToDataSet(string xlsPath) 
        
{
            strExcel 
= "select * from  [Sheet1$]";
            
//string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;';" + "Data Source=" + xlsPath  + ";" ;
            string connectionString ="Provider=Microsoft.Jet.OLEDB.4.0;" +"Extended Properties="Excel 8.0;HDR=NO";" + "data source=" + xlsPath;

            OleDbConnection conn 
= new OleDbConnection(connectionString);
            
try
            
{
                conn.Open();
            }

            
catch (Exception e) 
            
{
                conn.Close();
                
throw new Exception(e.Message);
            }

            adapter 
= new OleDbDataAdapter(strExcel, conn);
            ds 
= new DataSet();
            adapter.Fill(ds);
            conn.Close();
            
return ds;
        }

这里就说到这里了,还有一个就是

    DataGrid中的数据导出成Excle代码如下:

            DataTable dt = new DataTable();    
            ExcelWR excel 
= new ExcelWR();
            dt 
= (excel.OracleToDataSet(strTableName)).Tables[0];//就是一个DataTable对象
            DataGrid resultGrid = new DataGrid();
            resultGrid.DataSource 
= dt;
            resultGrid.AutoGenerateColumns 
= true;
            resultGrid.DataBind();
        
        
            Response.Clear();     
            Response.Buffer
=   true;     
            Response.Charset
="GB2312";   
            Response.AppendHeader(
"Content-Disposition","attachment;filename=FileName.xls");   Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");   
            
//设置输出流为简体中文   
            Response.ContentType   =   "application/ms-excel";//设置输出文件类型为excel文件。application/ms-word   ||   application/ms-txt   ||   application/ms-html   ||   或其他浏览器可直接支持文档     
      
            EnableViewState   
=   false;           
            System.Globalization.CultureInfo   myCItrad   
=   new   System.Globalization.CultureInfo("ZH-CN",true);   
            System.IO.StringWriter   oStringWriter   
=   new   System.IO.StringWriter(myCItrad);     
            System.Web.UI.HtmlTextWriter   oHtmlTextWriter   
=   new   System.Web.UI.HtmlTextWriter(oStringWriter);   
            resultGrid.RenderControl(oHtmlTextWriter);     
            
//datagridname是datagrid名   
            Response.Write(oStringWriter.ToString());   
            Response.End();   

 

但是这种导出来的格试不能进行ADO操作,操作时会报外部表不是预期的格式,

 

这个就是不太灵活了.还有一个就是引入 Excel.Application对象

http://www.msdn.net/library/chs/default.asp?url=/library/CHS/modcore/html/deovrunderstandingexcelapplicationobject.asp

这里有详细的资料!

这个就写到这里了!