繁体   English   中英

C#Winform中的Datagrid视图

[英]Datagrid View in C# winform

如何从Excel或Access文件将数据导入Datagridview或从Datagridview导入数据? 我需要知道导出和导入的代码。

尝试这个:

using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            System.Data.OleDb.OleDbConnection MyConnection;
            System.Data.DataSet DtSet;
            System.Data.OleDb.OleDbDataAdapter MyCommand;
            MyConnection = new System.Data.OleDb.OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\csharp.net-informations.xls';Extended Properties=Excel 8.0;");
            MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection);
            MyCommand.TableMappings.Add("Table", "Net-informations.com");
            DtSet = new System.Data.DataSet();
            MyCommand.Fill(DtSet);
            dataGridView1.DataSource = DtSet.Tables[0];
            MyConnection.Close();
        }
    }
}

这是另一个教程或只是使用谷歌

我将尝试使用Access示例扩展以前的文章:

    DataTable LoadSchemaFromAccess(string szFilePath)
    {

    System.Data.OleDb.OleDbCommand cmd;
    try
    {
        System.Data.OleDb.OleDbConnection cnn  = new    System.Data.OleDb.OleDbConnection(string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data  Source={0};Persist Security Info=False;", szFilePath));
            cnn.Open();
            System.Data.DataTable schemaTable = cnn.GetSchema("Tables");

            cnn.Close();
            return schemaTable;
    }
    catch (exception e)
    {
        MessageBox.Show(e.Message);
        return null;
    }
    finally
    {
        if (cmd != null)
        {
            cmd.Dispose();
        }
    }
}

    string LoadDataFromAccess(string szTableName )
    {
 string   GetData = L"SELECT * FROM " + szTableName;
 System.Data.OleDb.OleDbCommand cmd;
 string szColumns = "";
try
{
    System.Data.OleDb.OleDbConnection cnn = new      System.Data.OleDb.OleDbConnection
        (string.Format(L"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=False;", szPath));
    cnn.Open();
    System.Data.DataTable dt = new System.Data.DataTable();
    OleDbCommand  cmd = new OleDbCommand();
    cmd.Connection = cnn;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = GetData;
    OleDbDataAdapter adt = new OleDbDataAdapter(cmd);
    adt.SelectCommand = cmd;
    adt.Fill(dt);
     cnn.Close();
     return dt;
}
catch (exception e)
{
    MessageBox.Show(e.Message);
    return null;
}
finally
{
    if (cmd != null)
     {
        cmd.Dispose();
    }
}
}

希望这会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM