50分求excel和文本文件倒入数据到acess数据库中(都是固定格式)
各位老大帮帮忙阿 没做过这方面的 最好能给个比较 详细的例子 谢谢各位了 分不够了再加~!~!

解决方案 »

  1.   

    从Excel和记事本导入Access,文件→导入外部文件→选中文件导入;
      

  2.   

    本节将通过一个程序来介绍Visual C#读取Excel表格中的数据,并把数据以DataGrid的形式显示出来。  (1).如何读取数据:  其实读取Excel表格中的数据和读取数据库中的数据是非常类似的,因为在某种程度上Excel表格可以看成是一张一张的数据表。其二者的主要区别在于所使用的数据引擎不一样。在本文的程序中,通过下列代码实现读取Excel表格数据,具体如下:
    //创建一个数据链接
    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c:\\sample.xls;Extended Properties=Excel 8.0" ;
    OleDbConnection myConn = new OleDbConnection ( strCon ) ;
    string strCom = " SELECT * FROM [Sheet1$] " ;
    myConn.Open ( ) ;
    file://打开数据链接,得到一个数据集
    OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
    file://创建一个 DataSet对象
    myDataSet = new DataSet ( ) ;
    file://得到自己的DataSet对象
    myCommand.Fill ( myDataSet , "[Sheet1$]" ) ;
    file://关闭此数据链接
    myConn.Close ( ) ; 
      怎么样读取Excel表格中的数据其实和读取数据库中的数据没有什么实质上的区别。  注释:这里读取的是C盘根目录下的"Sample.xls"文件。  (2).用DataGrid来显示得到的数据集:  在得到DataSet对象后,只需要通过下列二行代码,就可以把数据集用DataGrid显示出来了:DataGrid1.DataMember= "[Sheet1$]" ;
    DataGrid1.DataSource = myDataSet ;   (3).用Visual C#读取Excel表格,并用DataGrid显示出来的程序代码(Read.cs)和程序运行的界面:  掌握了上面二点,水到渠成就可以得到以下代码:using System ;
    using System.Drawing ;
    using System.Collections ;
    using System.ComponentModel ;
    using System.Windows.Forms ;
    using System.Data ;
    using System.Data.OleDb ;
    public class Form1 : Form
    {
    private Button button1 ;
    private System.Data.DataSet myDataSet ;
    private DataGrid DataGrid1 ;
    private System.ComponentModel.Container components = null ;public Form1 ( )
    {
    file://初始化窗体中的各个组件
    InitializeComponent ( ) ;
    file://打开数据链接,得到数据集
    GetConnect ( ) ;
    }
    file://清除程序中使用过的资源
    protected override void Dispose ( bool disposing )
    {
    if ( disposing )
    {
    if ( components != null ) 
    {
    components.Dispose ( ) ;
    }
    }
    base.Dispose ( disposing ) ;
    }private void GetConnect ( )
    {
    file://创建一个数据链接
    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c:\\sample.xls;Extended Properties=Excel 8.0" ;
    OleDbConnection myConn = new OleDbConnection ( strCon ) ;
    string strCom = " SELECT * FROM [Sheet1$] " ;
    myConn.Open ( ) ;
    file://打开数据链接,得到一个数据集
    OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
    file://创建一个 DataSet对象
    myDataSet = new DataSet ( ) ;
    file://得到自己的DataSet对象
    myCommand.Fill ( myDataSet , "[Sheet1$]" ) ;
    file://关闭此数据链接
    myConn.Close ( ) ;
    }
    private void InitializeComponent ( )
    {
    DataGrid1 = new DataGrid ( ) ;
    button1 = new Button ( ) ;
    SuspendLayout ( ) ;
    DataGrid1.Name = "DataGrid1";
    DataGrid1.Size = new System.Drawing.Size ( 400 , 200 ) ;button1.Location = new System.Drawing.Point ( 124 , 240 ) ;
    button1.Name = "button1" ;
    button1.TabIndex = 1 ;
    button1.Text = "读取数据" ;
    button1.Size = new System.Drawing.Size (84 , 24 ) ;
    button1.Click += new System.EventHandler ( this.button1_Click ) ;this.AutoScaleBaseSize = new System.Drawing.Size ( 6 , 14 ) ;
    this.ClientSize = new System.Drawing.Size ( 400 , 280 ) ;
    this.Controls.Add ( button1 ) ;
    this.Controls.Add ( DataGrid1 ) ;
    this.Name = "Form1" ;
    this.Text = "读取Excle表格中的数据,并用DataGrid显示出来!" ;
    this.ResumeLayout ( false ) ;}
    private void button1_Click ( object sender , System.EventArgs e )
    {
    DataGrid1.DataMember= "[Sheet1$]" ;
    DataGrid1.DataSource = myDataSet ;}
    static void Main ( ) 
    {
    Application.Run ( new Form1 ( ) ) ;
    }
    }
     
    怎么写入access 不用我说了吧。
      

  3.   

    通过上面的方法得到可得到一个Excel的DataSet,
    再建一个Access的连接,得到Access的DataSet,
    然后遍历Excel的DataSet中的数据并插入Access的DataSet,然后写回就可以了.
    我就是这么干的,方法比较笨,不知谁有更好的方法.
      

  4.   

    提供一个方法,具体实现还得楼主自己研究
    先将Excel另存为XML文件,然后在Access中导入,以下是VB代码(打开Excel情况下)
    ActiveWorkbook.SaveAs Filename:= _
            "C:\Documents and Settings\Teacher\桌面\Book1.xml", FileFormat:= _
            xlXMLSpreadsheet, ReadOnlyRecommended:=False, CreateBackup:=False
    Application.ImportXML _
        DataSource:="employees.xml", _
        ImportOptions:=acStructureAndData
      

  5.   

    下面一句应该改成:Application.ImportXML _
        DataSource:="Book1.xml", _
        ImportOptions:=acStructureAndData
      

  6.   

    同意 zt_tju(福满多) ,用ADO.NET
      

  7.   

    就像操作数据库一样的操作,Excel也一样
      

  8.   

    你们说我是 遍历dataset以后 一条一条 插入 数据库好呢还是 把数据写到另一个 dataset里一起更新好呢?效率问题和出错的几率问题大家帮忙
      

  9.   

    如何写到另一个dataset里,copy是不行的,新dataset的rowstate不会改变,ad.update是不会更新库的。