Ghi dữ liệu vào file excel trong matlab

Trong bài viết hôm nay chúng ta cùng làm việc với file Excel học cách đọc, ghi, hiện thị dữ liệu từ Excel nên giao diện GUI của phần mền Matlab và ngược lại. Và tiện thể chúng ta học cách sử dụng đối tượng Table được tích hợp trong GUI.

huong dan doc ghi file excel trong matlab

| Hướng dẫn đọc ghi Excel

Như bạn đã biết thì Excel nằm trong bộ Office của Microsoft và không riêng gì dân kế toán, kỹ thuật, dân lập trình chúng ta cũng sử dụng đến nó rất nhiều. Vậy đối với chúng ta đang học lập trình GUI cũng vậy. Để bạn có một cách tiếp cận đơn giản thì ta sẽ tiến hành đọc file Excel.

Giả sử ta có một giao diện như hình dưới. Để cho bạn không phải nhàn chán nên giao diện này VuTienIT xin được xây dựng trước. Nếu bạn theo dõi từ bài 1 đến giờ thì giao diện hình dưới đây chắc có lẽ không quá khó khăn đối với bạn.

huong gan doc ghi excel trong gui matlab

1. Đọc File Excel

Oke. Vấn đề chúng ta đó là lấy dữ liệu từ một file excel nào đó và đổ các giá trị vào Exdittext có Label là B,C,D theo Get Value Excel mà ta lựa chọn.

Giả sử ta có file Excel có tên là VuTienIT_Excel.xlsx và có các giá trị là kiểu số nguyên và có 4 cột đó là A,B,C,D.

doc file excel matlab

Ở trong đối tượng Popup menu  có string là Get Value Excel bạn hãy tự điền các giá trị ở cột A vào. [Gía trị bạn có thể đặt gì cũng được không nhất thiết phải là A1, A2,…]. Nguyên sao đủ 10 dòng vì trong file Excel của chúng ta có 10 dòng

popup menu matlab

a. Đọc dữ liệu

Bây giờ chúng ta cùng tiến hành viết code để lấy dữ liệu.

Bạn hãy mở đến function của Popup Menu Get Value Excel và tiến hành gõ các đoạn code sau

dirFileName = 'VuTienIT_Excel.xlsx';
sheet = 1;

getValue = xlsread[dirFileName, sheet];
valueExcel = get[handles.popupmenu1, 'value'] - 1;

Trong đó:

  • dirFileName: Tên File Excel mà bạn muốn đọc [File này thường đặt ở cùng thư mục file .m mà ta đang lập trình]
  • sheet: Trong Excel thì sẽ có nhiều sheet bởi vậy ta cần xác định xem dữ liệu đang ở sheet nào? Bạn nhìn hình phía trên [Hình giao diện] là bạn sẽ hiểu.
  • xlsread: Hàm này có chức năng là đọc file Excel [Nó sẽ nhận giá trị của mỗi ô là kiểu số nguyên]

b. Đổ dữ liệu ra đối tượng nào đó

Khi ta đã có dữ liệu được gán vào biến valueExcel rồi. Thì nhiệm vụ tiếp theo đó là đổ dữ liệu này ra đối tượng. Ở đây VuTienIT sử dụng Edittext có nhãn B,C,D bên cạnh.

cotB = getValue[valueExcel, 1];
set[handles.text1, 'string', num2str[cotB]];

cotC = getValue[valueExcel, 2];
set[handles.text2, 'string', num2str[cotC]];

cotD = getValue[valueExcel, 3];
set[handles.text3, 'string', num2str[cotD]];

Trong đó:

  • getValue[valueExcel, 1]: 1 là vị trí thứ nhất. 2, 3 cũng tương tự
  • num2str: Chuyển đổi kiểu số sang chuỗi

Về các vị trí thì bạn nhìn hình dưới đây bạn sẽ hiểu

doc file excel trong gui matlab

Đây là toàn bộ Code của Popup Menu có tên là VuTienIT_Excel.xlsx

lap trinh gui matlab

Giờ bạn tiến hành chạy trương trình nên và xem kết quả thế nào nhé!

hoc lap trinh matlab nang cao

2. Ghi File Excel

Vấn đề Ghi File thì bạn cần hiểu như sau. Đó là ta sử dụng giao diện GUI để lập trình tự động ghi dữ liệu nào đó vào file Excel.

Để đơn giản hơn thì ta sẽ lấy dữ liệu từ biến getValue để đổ vào Excel [Dữ liệu có thể số, chuỗi,…]

Bạn hãy mở đến Function có string là “Ghi Du Lieu Excel” và viết code

dirFileName = 'VuTienIT_Excel.xlsx';
sheet = 1;

getValue = xlsread[dirFileName, sheet];
xlswrite['VuTienIT_Excel_Out.xls', getValue, 1, ['A' num2str[1]]];

Trong đó:

  • Một số câu lệnh thì ta đã học bên trên rồi thì VuTienIT xin khong được nhắc lại
  • xlswrite: Hàm ghi file
  • ‘VuTienIT_Excel_Out.xls’: Tên File bạn muốn ghi vào [Nằm cùng thư mục .m]. Nếu chưa có file này thì phần mền Matlab tự động tạo ra
  • ‘getValue’: Giá trị mà bạn muốn đổ dữ liệu vào
  • 1 là sheet thứ nhất
  • ‘A’ Bắt đầu ghi vào Cột A trong phần mền Excel
  • num2str[1]: Bắt đầu ghi vào dòng thứ nhất.

Đây là hình ảnh code của đối tượng nút nhấn này

ghi file excel trong matlab

Và đây là thành quả ta đạt được

huong dan ghi file excel trong matlab

Cũng khá là đơn giản phải không nào?

| Hướng dẫn ghi dữ liêu ra Table

Ở trong bài viết trước VuTienIT đã hướng dẫn đến bạn cách sử dụng table trong trong GUI rồi. Nhưng chưa hướng dẫn bạn cách đổ dữ liệu vào bảng. Vậy trong bài này ta sẽ học cách đổ dữ liệu vào Table trong giao diện.

Thì cũng ở hình giao diện trên thì ta đã xây dựng sẵn một bảng rồi. Nhiệm vụ ta cần làm đó là nhấn vào nút có string là “Ghi Du Lieu Tabe” thì sẽ ghi dữ liệu.

Oke bây giờ bạn hãy mở Function của string “Ghi Du Lieu Tabe” nên và viết đoạn code sau

data{1, 1} = 'VuTienIT';
data{1, 2} = 1;
data{1, 3} = 1.2;
data{1, 4} = 3/5;

data{2, 1} = 'vutienblog.com';
set[handles.uitable1, 'Data', data];

Trong đó:

  • {1, 1} : 1 thứ nhất là dòng số 1. 1 thứ 2 đó là cột thứ nhất. Tương tự cho {1, 2}, {1, 3},…

Đây là Code trương trình

su dung table trong gui matlab

Và trương trình chạy nên bạn được như sau

ghi du lieu table trong gui matlab

Tổng Kết:

Như vậy qua bài viết này chúng ta đã cùng nhau học cách sử dụng đọc, ghi dữ liệu Excel trong lập trình giao diện GUI. Và cũng học cách ghi dữ liệu ra bảng. Trên đây chỉ là một ví dụ nhỏ không đi qua vào thuật toán. Qua trọng là chún ta hiểu được bản chất của vấn đề rồi từ từ sẽ ta mới học đến các bài toán cao hơn. Hi vọng rằng bài viết này sẽ giúp ích cho bạn một phần nào đó. Chúc bạn thành công!

0 0 bỏ phiếu

Đánh giá bài viết

Bài Viết Liên Quan

Chủ Đề