Cấp bậc tác giả:

DOTNET

Nhập dữ liệu từ tập tin Text hoặc CSV hiển thị trên DataGridView

Được viết bởi QuangIT ngày 23/03/2013 lúc 07:16 PM
Nhập dữ liệu từ tập tin Text hoặc CSV hiển thị trên DataGridView. Có thể áp dụng đưa vào cơ sở dữ liệu.
  • 0
  • 16659
Tải tệp tin: Click ở đây

Nhập dữ liệu từ tập tin Text hoặc CSV hiển thị trên DataGridView

Đầu tiên thêm Control Browser, TextBox, Button và Control DataGridView
import1.jpg
Thêm đoạn mã sau vào sự kiện nhấn nút
private void button1_Click_1(object sender, EventArgs e)
{
    OpenFileDialog fdlg = new OpenFileDialog();
    fdlg.Title = "Select file";
    fdlg.InitialDirectory = @"c:\";
    fdlg.FileName = txtFileName.Text;
    fdlg.Filter = "Text and CSV Files(*.txt, *.csv)|*.txt;*.csv|Text Files(*.txt)|*.txt|CSV Files(*.csv)|*.csv|All Files(*.*)|*.*";
    fdlg.FilterIndex = 1;
    fdlg.RestoreDirectory = true;
    if (fdlg.ShowDialog() == DialogResult.OK)
    {
        txtFileName.Text = fdlg.FileName;
        Import();
        Application.DoEvents();
    }
}
Khi bạn chọn bất kỳ tập tin Text hoặc CSV từ trang trình duyệt thì bạn nhận được đường dẫn đầy đủ của tập tin Text hoặc CSV.
import2.jpg
Bạn sẽ di chuyển qua đường dẫn theo sau chức năng trả lại dữ liệu tập tin dbf trong dataset.
public static DataTable GetDataTable(string strFileName)
{
    ADODB.Connection oConn = new ADODB.Connection();
    oConn.Open("Provider=Microsoft.Jet.OleDb.4.0; Data Source = " + System.IO.Path.GetDirectoryName(strFileName) + "; Extended Properties = \"Text;HDR=YES;FMT=Delimited\";", "", "", 0);
    string strQuery = "SELECT * FROM [" + System.IO.Path.GetFileName(strFileName) + "]";
    ADODB.Recordset rs = new ADODB.Recordset();
    System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter();
    DataTable dt = new DataTable();
    rs.Open(strQuery, "Provider=Microsoft.Jet.OleDb.4.0; Data Source = " + System.IO.Path.GetDirectoryName(strFileName) + "; Extended Properties = \"Text;HDR=YES;FMT=Delimited\";",
        ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockReadOnly, 1);
    adapter.Fill(dt, rs);
    return dt;
}
Bạn có thể dễ dàng hiển thị dữ liệu dataset trong DataGridView.
private void Import()
{
    if (txtFileName.Text.Trim() != string.Empty)
    {
        try
        {
            DataTable dt = GetDataTable(txtFileName.Text);
            dataGridView1.DataSource = dt.DefaultView;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message.ToString());
        }
    }
}
import3.jpg

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML