
Cách lấy dữ liệu từ excel vào CSDL bằng C#
Mình có 1 form trong form có 1 nút load dữ liệu và 1 datagridview và mình có 1 file excel chứa dữ
liệu. Mình muốn làm như sau: khi mình kich vào nút load dữ liệu thì sẽ chọn được tới file excel của
mình ( cái này mình đã làm được ) và sau đó các dữ liệu ở trên file excel đó sẽ được load hết vào
trong CSDL ( Bảng trong CSDL có các trường tương ứng với các trường trong file excel) và sau khi
load sẽ hiển thị dữ liệu ở file excel trên datagridview. Mong các bạn chỉ giúp mình cách để có thể
load được dữ liệu từ file excel vào CSDL. Mình đang cần chỉ giúp gấp. Cảm ơn các bạn rất
nhiều !!
#2
28-11-2010, 12:53 AM
hkthanh89
Thành viên mới
Ngày gia nhập: 11 2010
Nơi ở: Bình Dương
Bài viết: 16
Bạn hãy chuyển file excel thành file csv.
Sau đó thực hiện đọc file csv và ghi dữ liệu vào CSDL.
Bạn có thể kham thảo 2 link sau :
http://www.java2s.com/Code/CSharp/Da...essbutton1.htm
http://www.java2s.com/Code/CSharp/Da...ntoDataSet.htm
#3
28-11-2010, 03:28 AM
Magiczvn
Thành viên chính thức
Ngày gia nhập: 06 2009
Bài viết: 39
Dùng thư viện ExcelDatareader này đi bạn, rất hiệu quả đấy!
http://exceldatareader.codeplex.com/
Nếu bạn không muốn sử dụng thư viện thì có thể tham khảo bài viết này:
http://ddth.com/showthread.php?t=363860
Đã được chỉnh sửa lần cuối bởi Magiczvn : 28-11-2010 lúc 03:41 AM.
#4
28-11-2010, 10:28 PM

nguyenkhanhminh
Thành viên mới
Ngày gia nhập: 04 2010
Bài viết: 23
Trích dẫn:
Nguyên bản được gửi bởi Magiczvn
Dùng thư viện ExcelDatareader này đi bạn, rất hiệu quả đấy!
http://exceldatareader.codeplex.com/
Nếu bạn không muốn sử dụng thư viện thì có thể tham khảo bài viết này:
http://ddth.com/showthread.php?t=363860
Cảm ơn các bạn đã giúp đỡ rất nhiều. Do thời gian mình đang cần xử lý gấp nên mình thấy sử
dụng thư viện ExcelDatareader sẽ thuận lợi hơn nhưng mình chưa rõ cách dùng các hàm của thư
viện này. Mong bạn có thể post 1 bài chỉ cho mình cách dùng chi tiết thư viện này có thêm ví dụ
nhỏ minh họa nữa thì tốt quá. Mình nghĩ cũng có nhiều bạn cũng muốn được giúp đỡ như mình
nên mong sẽ được sự giúp đỡ chi tiết cách dùng thư viện này ! Cảm ơn bạn rất nhiều !
#5
29-11-2010, 02:05 AM
Magiczvn
Thành viên chính thức
Ngày gia nhập: 06 2009
Bài viết: 39
Cái trang mình đưa có ví dụ mẫu luôn rồi đó bạn (filePath là đường dẫn tới file excel,
DataSet result chứa các DataTable kết quả (một file excel có nhiều sheet, mỗi sheet là 1 DataTable)
PHP Code:
FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
//1. N uế là file Excel 2003 thì dùng cái này('97-2003 format; *.xls)
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
//...
//2.N uế là file Excel 2007 thì dùng cái này (2007 format; *.xlsx)
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
//...
//3. DataSet - The result of each spreadsheet will be created in the result.Ta
bles
DataSet result = excelReader.AsDataSet();
excelReader.Close();

Đã được chỉnh sửa lần cuối bởi Magiczvn : 29-11-2010 lúc 01:27 PM.
#6
29-11-2010, 08:57 AM
nguyenkhanhminh
Thành viên mới
Ngày gia nhập: 04 2010
Bài viết: 23
Trích dẫn:
Nguyên bản được gửi bởi Magiczvn
Cái trang mình đưa có ví dụ mẫu luôn rồi đó bạn (filePath là đường dẫn tới file excel,
DataSet result chứa các DataTable kết quả (một file excel có nhiều sheet, mỗi sheet là 1 DataTable)
Ý mình là mình chưa dùng thư viện này bao giờ nên cách gọi hàm và sử dụng các hàm của thư viện này
ra sao mình vẫn chưa biết. Nếu được mong bạn làm 1 ví dụ nhỏ chỉ cụ thể cho mình ! Mong được bạn
giúp đỡ !
P/S: à bạn cho mình hỏi luôn là mình đã dow thư viện đó về vậy giờ phải đặt thư viện đó ở đâu để có thể
sử dụng ! ^_^ mình hơi dốt mong bạn thông cảm giúp đỡ !
#7
29-11-2010, 02:15 PM
Magiczvn
Thành viên chính thức
Ngày gia nhập: 06 2009
Bài viết: 39
1. Cách Add Reference:


2. Chương trình mẫu:

