Chuyển đến nội dung chính

Import Excel to Dataset C#

 

Hi! Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn cách import dữ liệu các loại file Excel gồm 2 loại: Excel 97 - 2003 (xls) và Excel từ 2006 (xlsx) trong lập trình C# . Ngoài ra các bạn cũng có thể import dữ liệu từ file CSV vào cũng ok ...

Hi! Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn cách import dữ liệu các loại file Excel gồm 2 loại: Excel 97 - 2003 (xls) và Excel từ 2006 (xlsx) trong lập trình C#.

Ngoài ra các bạn cũng có thể import dữ liệu từ file CSV vào cũng ok luôn nhé.

Trên trang lập trình VB.NET, anh Sơn Băng đã có viết bài hướng dẫn import dữ liệu từ Excel và cập nhật lên SQL.

Các bạn có thể tham khảo ở link bên dưới:

Import dữ liệu từ Excel và cập nhật lên SQL

Tuy nhiên, bài viết trên chỉ import được dữ liệu từ file Xls (excel phiên bản 2003 - 2007)

- Dưới đây là giao diện demo import file excel Xls, xlsx vào Gridview:

import excel

- Trong bài viết này, mình sử dụng thư viên ExcelDataReader.

Các bạn có thể import thư viện vào từ Nuget nhé bạn.

import excel

Các bạn có thể xem hướng dẫn chi tiết sử dụng thư viện tại link bên dưới:

Sử dụng ExcelDataReader

Source code C# import dữ liệu Excel vào Dataset:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
using ExcelDataReader;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Import_excel_csv
{
    public partial class Form1 : Form
    {
        DataSet ds;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void btn_import_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "Excel Workbook|*.xlsx|Excel Workbook 97-2003|*.xls", ValidateNames = true })
            {
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    using (var stream = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read))
                    {
                        IExcelDataReader reader;
                        if (ofd.FilterIndex == 2)
                        {
                            reader = ExcelReaderFactory.CreateBinaryReader(stream);
                        }
                        else
                        {
                            reader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                        }
 
                        ds = reader.AsDataSet(new ExcelDataSetConfiguration()
                        {
                            ConfigureDataTable = (_) => new ExcelDataTableConfiguration()
                            {
                                UseHeaderRow = true
                            }
                        });
 
                        cb_sheet.Items.Clear();
                        foreach (DataTable dt in ds.Tables)
                        {
                            cb_sheet.Items.Add(dt.TableName);
                        }
                        reader.Close();
 
                    }
                }
            }
 
        }
 
        private void cb_sheet_SelectedIndexChanged(object sender, EventArgs e)
        {
            dataGridView1.DataSource = ds.Tables[cb_sheet.SelectedIndex];
        }
    }
}

Nguồn: http://code24h.com/huong-dan-import-du-lieu-vao-database-tu-tap-tin-excel-trong-c-d23960.htm 



Nhận xét

Bài đăng phổ biến từ blog này

CODE CHUYỂN FONT WINDOWS - 1252 SANG UTF 8 TRONG C#

Vấn đề là tôi code một ứng dụng gửi mail trên nền C# , body mail được người dùng tự soạn thảo ở Microsoft Word và lưu lại ở file html. Khi lưu lại html từ Word, font sẽ mặc định ở thẻ: <meta http-equiv=Content-Type content="text/html; charset=windows-1252"> dẫn đến khi gửi đi, các chữ có dấu tiếng Việt sẽ bị mã hóa thành dấu "?". Sau khi tìm các phương án để chuyển mã không thành mà tôi thì muốn khi soạn thảo body mail người dùng dễ dàng chỉnh sửa nhất và code trong C# cũng đơn giản nhất (không phải kiểm tra các dòng để lấy font, màu, màu nền ...), cuối cùng tôi đã tìm thấy đoạn code này: Việc đầu tiên là tôi đọc file html theo từng byte ra một mảng bằng hàm: public static byte[] ReadFile(string filePath)           {               byte[] buffer;            FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);        ...

Hướng dẫn chi tiết chơi Cloud Raiders

     Khi bắt đầu bước vào trò chơi, bạn sẽ có 1 nhà quân phòng thủ, 1 nhà chính, 1 kho vàng.., bước đầu bạn sẽ được hướng dẫn chơi theo kiểu cầm tay chỉ việc, bạn chỉ làm theo các mũi tên hướng dẫn là có thể tự chơi được đến level 3. Lúc này bạn sẽ có 2 phu để xây dựng và nâng cấp. Các công trình ban đầu      Trong quá trình chơi bạn sẽ nhận được kim cương sau khi lên level hoặc hoàn thành nhiệm vụ trong màn chơi nhiệm vụ. Để làm nhiệm vụ bạn nhấn nút Attack ở góc dưới, bên phải màn hình, khi đó màn hình của bạn sẽ có 2 nửa: bên trái là tìm kiếm người chơi khác để tấn công cướp tài nguyên, bên phải là làm nhiệm vụ (Campaign), nhấn vào hình động bên phải để làm nhiệm vụ đầu tiên, nhiệm vụ ban đầu khá dễ dàng và bạn có được số kim cương khá nhiều, đừng phung phí nó, hãy giữ lại để dùng sau này. Số vàng và mây có được bạn hãy dùng để luyện lính và nâng cấp nhà. Bạn hãy xin hết số lượng lính cho phép, khi có đủ số lính hãy đi cướp tài nguyên ...

Chuyển font chữ từ Vntime sang Unicode trong Excel (convert font Vntime to Unicode in Excel)

CHUYỂN FONT TRONG EXCEL Nếu bạn nào phải làm việc nhiều với Office hiển nhiên các bạn biết rằng Office có rất nhiều version, từ Office 97 cho đến hiện tại là Office 2016 beta. Cùng với sự phát triển của Office là việc nâng cấp các bộ gõ tiếng Việt, kinh điển nhất là Vietkey  và Unikey. Cách gõ điển hình nhất trong các loại văn bản là font TCVN3 và Unicode. Đã bao giờ bạn phải làm cái việc chuyển qua lại giữa 2 kiểu font này chưa? Và bạn có từng gặp khó khăn khi chuyển font cho một file Excel khoảng vài ngàn record chưa? Nếu bạn đã từng gặp tình huống trên thì bài viết này sẽ giúp bạn giải quyết vấn đề này. 1. Tổng hợp các phương pháp - Sử dụng phần mềm Uconvert (phiên bản mới nhất UOffice 2.0) - Sử dụng phần mềm tự viết trên C# - Sử dụng bộ gõ Unikey. 2. Phương pháp tối ưu nhất Là dùng bộ gõ Unikey. Bài viết demo file Excel hơn 224.000 record. Cách làm như sau: Bước 1: Bạn mở file Excel gốc của bạn và lưu ở dạng Unicode Text như hình dưới (ở đây tôi lưu v...