Đề Xuất 12/2022 # Cách Tổng Hợp Dữ Liệu Từ Nhiều File Excel Về Một File Excel / 2023 # Top 12 Like | Jetstartakeontheworld.com

Đề Xuất 12/2022 # Cách Tổng Hợp Dữ Liệu Từ Nhiều File Excel Về Một File Excel / 2023 # Top 12 Like

Cập nhật nội dung chi tiết về Cách Tổng Hợp Dữ Liệu Từ Nhiều File Excel Về Một File Excel / 2023 mới nhất trên website Jetstartakeontheworld.com. Hy vọng thông tin trong bài viết sẽ đáp ứng được nhu cầu ngoài mong đợi của bạn, chúng tôi sẽ làm việc thường xuyên để cập nhật nội dung mới nhằm giúp bạn nhận được thông tin nhanh chóng và chính xác nhất.

Trong công việc hàng ngày, các bạn sẽ gặp trường hợp nhận được rất nhiều file Excel từ nhiều nguồn, hoặc phòng ban khác gửi để cập nhập trong báo cáo, hoặc phải tổng hợp báo cáo tháng theo từng ngày.

Vậy, làm sao để cập nhật dữ liệu từ nhiều file excel về một file excel duy nhất một cách tự động. Bài viết này sẽ chia sẻ giúp các bạn một trong những cách làm đơn giản nhất. Thay vì phải viết code VBA phức tạp, thì chỉ với vài thao tác thiết lập ban đầu với Power Query bạn có thể dự động toàn bộ file dữ liệu cho các lần tiếp theo.

Lấy dữ liệu từ file Excel khác thông qua VBA

Thông thường, đối với nhiều người sử dụng Excel lâu năm sẽ nghĩ ngay đến VBA để giải quyết tình huống ghép nhiều hoặc ghép 2 file excel thành 1. VBA là một ngôn ngữ lập trình trên Excel, mục đích của VBA nhằm tự động hóa các thao tác mà người dùng Excel bằng cách viết một đoạn code.

Tuy nhiên, điểm yếu của VBA đó là người dùng rất khó tiếp cận. Bản chất của VBA là một ngôn ngữ lập trình, yêu cầu sự logic và người học vô cùng cần mẫn, chuyên sâu mới có thể viết được. Thông thường ít nhất mất 3 tháng để các bạn có thể viết được ngôn ngữ này, nhưng chỉ sau 1 tháng không sử dụng bạn có thể quên luôn cách viết.

Bên cạnh đó các file cần tổng hợp cần có cấu trúc giống nhau về tên cột, số lượng cột, dòng và vùng dữ liệu. Nếu file khác số lượng cột thì code VBA sẽ không hiểu và báo lỗi không thực hiện được.

Phía dưới là đoạn code VBA dành cho bạn nào mong muốn được biết:

Sub merge_all()

    Dim cnn As ADODB.Connection

    Dim rst As ADODB.Recordset

    Dim s As Worksheet

    Dim I As Long, d As Long, CountFiles As Long, J As Long

    SheetName = “Sheet1” & “$”  — Sheet1 là tên sheet của file bạn cần tổng hợp

    RangeAddress = “A1:U1000” — đây là vùng dữ liệu của sheet mà bạn cần tổng hợp

    Dim files As Variant

    files = Application.GetOpenFilename(, , , , True)

    If VarType(files) = vbBoolean Then Exit Sub

    Set s = Sheets(“Master”) – tên sheet này tuy bạn chọn

    For d = LBound(files) To UBound(files)

        Set cnn = GetConnXLS(files(d))

        If cnn Is Nothing Then

            MsgBox “kiem tra lai du lieu file: ” & files(d)

            Exit Sub

        End If

        Set rst = cnn.Execute(“SELECT *,””” & files(d) & “”” as [From File] FROM [” & SheetName & RangeAddress & “]”)

        CountFiles = CountFiles + 1

        If CountFiles = 1 Then

            For J = 0 To rst.Fields.Count – 1

                s.Cells(3, J + 1).Value = rst.Fields(J).Name

            Next J

        End If

        I = I + s.Range(“A” & 4 + I).CopyFromRecordset(rst) – A4 hiện tại là ô dán dữ liệu vào, sửa nếu thay đổi

        rst.Close

        Set rst = Nothing

        cnn.Close

        Set cnn = Nothing

    Next d

    MsgBox “hoan thanh”

End Sub

Không dễ để viết được đoạn code phía trên, ghi nhớ cho lần sau đúng không các bạn! Do vậy, trong bài viết này mình sẽ chia sẻ các bạn thêm cách đơn giản hơn. Bạn sẽ biết cách tổng hợp dữ liệu từ nhiều file Excel bằng Power Query. Bạn có thể ghép 2 file excel thành 1 hoặc nhiều hơn một cách dễ dàng.

Power Query là một công cụ mới được phát triển bởi Microsoft trong khoảng 5 năm gần đây. Tuy nhiên, ở Việt Nam việc được nhắc đến, hay sử dụng còn rất hạn chế. Các tài liệu về Power Query chủ yếu là bằng tiếng anh.

Do vậy, một số lượng lớn người sử dụng chưa tiếp cận được.

Giống với VBA, thì Power Query giúp người dùng có thể tự động hóa dữ liệu thông qua việc thiết lập duy nhất 1 lần ban đầu.

Điểm khác của Power Query đó là người dùng không cần biết viết ngôn ngữ lập trình khó hiểu như VBA, bạn chỉ cần thao tác chọn – thả vô cùng đơn giản, tiết kiệm thời gian, đơn giản dễ học. Đây chính là điểm ưu việt của Power Query so với VBA.

Với cách làm này, bạn có thể xử lý rất nhiều tình huống cụ thể trong công việc mà không cần biết đến coding.

Cách tổng hợp dữ liệu từ nhiều file Excel về một sheet Excel duy nhất

Trường hợp đầu tiên mình muốn giới thiệu các bạn cách tổng hợp dữ liệu từ các nguồn khác nhau với template của mỗi file là giống nhau. Mục tiêu của các bạn đó là tất cả các file nhận được sẽ tự động trở thành một sheet tổng hợp cho mục đích cá nhân, ví dụ như dùng để tổng hợp danh sách nhân viên theo từng tháng, hoặc báo cáo doanh số theo từng tháng, năm.

Bước đầu tiên: tổng hợp, download toàn bộ các file mà các bạn nhận được bỏ chung vào 1 folder. Đối với cách này, sẽ không phân biệt tên của file, quan trọng các file có chung template, tức là có tiêu đề giữa các file giống nhau là được.

Bước 2:Mở 1 file excel mới dùng để tổng hợp toàn bộ các file mà các bạn nhận được và thao tác lần lượt như sau:

Bước 3: Chọn nguồn dữ liệu folder mà các bạn đã bỏ tất cả các file cần cập nhập theo các thao tác

Sau khi chọn Transform data, thì bạn sẽ vào bên trong môi trường của Power Query.

Tiếp sau đó mình sẽ lấy data của tất cả các file vào cùng 1 sheet bằng cách sau:

Bước 5: Sau đó bạn tìm cột có tên là Custom thực hiện các bước như hình vẽ phía dưới để kéo data về.

Lý do vì sao chọn sheet, vì một số file bạn nhận được trong tương lai của các phòng ban không được định dạng table. Do vậy, tên sheet gần như không thay đổi theo thời gian. Nên đây là cách để tránh trường hợp dữ liệu không hiểu.

Bước 8: Sau đó bạn xổ data từ con trỏ ngay tại B1 trong hình vẽ và ấn OK. Mục đích bước này để trích xuất toàn bộ dữ liệu từ tất cả các file theo các cột cần lấy. Bạn có thể bỏ chọn những cột mà bạn nghĩ không cần thiết, hoặc có thể remove column ở bước tiếp theo

Bước 9: Sau đó dữ liệu được lấy ra, bạn cần đưa dòng đầu tiên của dữ liệu thành cột tiêu đề. Bạn thực hiện các bước như trong hình.

Vậy là toàn bộ dữ liệu các bạn cần tổng hợp đã nằm trong 1 sheet. Bây giờ mình cần đưa ra giao diện Excel thuần túy.

Cách tổng hợp dữ liệu từ nhiều file Excel thành một file Excel có nhiều sheet

Trường hợp thứ 2: Tổng hợp dữ liệu từ các nguồn khác nhau với template mỗi file là khác nhau. Mục tiêu nhằm thiết lập công thức giữa các file với nhau để ra mục tiêu cụ thể.

Bước 1: Download file mà các bạn nhận được, bỏ chung vào 1 folder nhằm mục đích dễ quản lý. Các file download này phải thống nhất tên file để phần mềm có thể nhận diện cho lần tiếp theo

Bước 2. Mở file mà bạn cần tổng hợp toàn bộ các file mà bạn nhận được thành các sheet khác nhau để thiết lập công thức:

Bước 3: Chọn tên file mà bạn muốn cập nhập hàng ngày. Lưu ý, tên file không thay đổi giữa các lần cập nhập. Nếu file mới được bỏ vào folder thì file cũ phải xóa đi. Đồng thời tên của file phải giữa nguyên so với lần đầu tiên thiết lập.

Bước 4. Thực hiện thao tác load file ra sheet. Lưu ý, các file bạn chọn có thể file được định dạng table hoặc không, do đó nên chọn tên sheet để load ra. Như hình phía dưới thì table sẽ có ký hiệu như Table1 và tên sheet sẽ có ký hiệu như DATA.

Dữ liệu các bạn chọn được load ra sheet của file Excel.

Lặp lại các thao tác trên tương ứng với số lượng file cần cập nhập vào 1 sheet. Các bước trên chỉ thực hiện 1 lần. Ngày hôm sau, nếu có các file mới. Các bạn chỉ việc download và bỏ vào folder với tên file không đổi so với ngày hôm trước, xóa file cũ đi. Để báo cáo được cập nhập.

Bước 5: Cập nhập các file mới nhận được hàng ngày bằng cách

Vậy là toàn bộ các file mà hàng ngày bạn phải copy thủ công vào từng sheet đã được cập nhập tự động. Các thao tác thiết lập ban đầu chỉ làm 1 lần duy nhất. Việc này sẽ tiết kiệm được rất nhiều thời gian cho các bạn

Các cách làm việc trên ứng dụng Power Query trong Excel để tự động hóa dữ liệu. Vậy để học Power Query ở đâu? Tại Uniace chúng tôi có các khóa học từ cơ bản đến nâng cao cho các bạn, nhằm tự động hóa dữ liệu. Vui lòng tham khảo khóa học nền tảng của chúng tôi.

Làm sao để học power, học power bi ở đâu hiệu quả

Cách tổng hợp dữ liệu từ nhiều file Excel vào 1 file không cần mở file

Tham khảo các bài viết hữu ích khác của Uniace tại Chuyên Đề Excel:

Hợp Nhất Dữ Liệu Trong Excel Và Hợp Nhất Nhiều Trang Tính Vào Một Trang Tính / 2023

Bài hướng dẫn này Học Excel Online sẽ trình bày các cách khác nhau để hợp nhất các trang trong Excel bằng cách kết hợp dữ liệu từ nhiều trang tính hoặc kết hợp nhiều trang bằng cách sao chép dữ liệu của chúng.

Hợp nhất dữ liệu từ nhiều trang tính sang một trang tính

Cách nhanh nhất để hợp nhất dữ liệu trong Excel (nằm trong một bảng tính hoặc nhiều bảng tính) là sử dụng tính năng tích hợp sẵn .

Hãy xem xét ví dụ sau đây: Giả sử bạn có một số báo cáo từ các văn phòng chi nhánh công ty và bạn muốn hợp nhất vào một bảng tính để bạn có một báo cáo tổng doanh thu của tất cả các sản phẩm.

1.Sắp xếp dữ liệu nguồn: Để tính năng Excel Consolidate hoạt động chính xác, phải đảm bảo rằng:·

Mỗi dãy (tập dữ liệu) bạn muốn hợp nhất nằm trên một bảng tính riêng biệt. Không đặt bất kỳ dữ liệu nào trên bảng tính mà bạn muốn hợp nhất.·

Mỗi trang có cùng bố cục, mỗi cột có tiêu đề và chứa dữ liệu tương tự.·

Không có hàng hoặc cột trống trong bất kỳ danh sách nào.

2. Chạy Excel Consolidate. Trong bảng tính chính, nhấp vào ô bên trái phía trên, đi tới tab Data và nhấp Consolidate.

3. Cấu hình Consolidate settings. Khi hộp thoại Consolidate xuất hiện, bạn thực hiện như sau:

Trong hộp Function, chọn một trong các hàm mà bạn muốn sử dụng để hợp nhất dữ liệu của mình (Count, Average, Max, Min, v.v …). Trong ví dụ này, chúng ta chọn Sum.

Nếu một hoặc một số trang nằm ​​trong một bảng tính khác, hãy nhấp vào Browse để tìm bảng tính.

Chọn Top row và / hoặc Left column phía dưới Use labels in nếu bạn muốn sao chép tên hàng và / hoặc tên cột từ các trang tính gốc vào trang hợp nhất.

Nếu bạn mở rộng nhóm (bằng cách nhấp vào biểu tượng “+”), sau đó nhấp vào ô có chứa giá trị, trên thanh công thức sẽ thể hiện một liên kết đến dữ liệu nguồn.

Nếu bạn muốn kết hợp các trang tính trong Excel bằng cách sao chép dữ liệu, chức năng này không hiệu quả. Để kết hợp vài trang tính, bạn có thể chỉ cần kĩ năng copy/paste. Nhưng nếu bạn cần kết hợp hàng chục trang tính, thì sai sót trong việc copy/paste thủ công là không thể tránh khỏi. Trong trường hợp này, bạn có thể muốn sử dụng một trong các kỹ thuật sau để tự động hợp nhất.

Làm thế nào để hợp nhất các trang tính Excel thành một

Nhìn chung, có 3 cách để hợp nhất các bảng tính Excel thành một mà không cần sao chép và dán:

Sử dụng VBA

Truy vấn nguồn cho Excel

Tiện ích bổ sung của bên thứ ba

Chúng ta sẽ bắt đầu với lựa chọn cuối cùng, một trong những cách quen thuộc và dễ sử dụng nhất.

Đăng ký ngay: lớp học VBA ở Hà Nội

Khi đọc tiêu đề của phần này, một số bạn có thể bị bối rối. Khi nói về tính năng Excel Consolidate, Học Excel Online chỉ ra rằng nó không thể kết hợp các bảng bằng cách sao chép dữ liệu của chúng. Phải, tùy chọn tích hợp trong Excel thì không thể làm được, nhưng Ablebits Consolidate Worksheet Wizard thì có thể

Kết hợp nhiều bảng tính thành một bằng 5 bước:

Giả sử rằng bạn đã cài đặt Consolidate Worksheets Wizard, năm bước đơn giản sau đây sẽ kết hợp các bảng tính Excel thành một.

1, Bật Consolidate Worksheets Wizard. Trên thanh công cụ Excel, chọn tab Ablebits, chọn Merge và nhấp vào Consolidate Worksheets.

3. Chọn loại hợp nhất. Vì chúng ta muốn kết hợp nhiều trang bằng cách sao chép dữ liệu của chúng, hãy chọn Copy data from selected ranges to one worksheet và nhấp Next.

Paste all – để sao chép các giá trị cũng như các công thức. – được dung trong hầu hết các trường hợp.

Paste values only – nếu bạn không muốn giữ các công thức từ các trang nguồn, hãy chọn tùy chọn này.

Paste link to data – liên kết dữ liệu được hợp nhất với dữ liệu nguồn. Chọn nó nếu bạn muốn dữ liệu được hợp nhất cập nhật tự động khi dữ liệu nguồn thay đổi. Nó hoạt động tương tự như Create links to source data check của Excel Consolidate.

My tables have headers: Tùy chọn này rất hữu ích khi bạn kết hợp các bảng có cột sắp xếp khác nhau. Để biết thêm chi tiết, vui lòng xem ví dụ 1.

Copy data only for the matching columns in my first tables in the list – chọn nó nếu bạn chỉ hợp nhất các cột nhất định trong bảng tính. Để biết thêm chi tiết, vui lòng xem ví dụ 2.

Preserve formatting – tự giải thích và rất thuận tiện.

Separate the copied ranges by a blank row– chọn tuỳ chọn này nếu bạn muốn thêm các hàng trống giữa các vùng dữ liệu hợp nhất.

5. Chọn vùng đặt dữ liệu được hợp nhất. Chọn nơi bạn muốn xuất dữ liệu hợp nhất: ở một trang bảng tính mới, một tệp làm việc mới hoặc một vị trí nhất định trong bất kỳ trang tính nào.

Ví dụ 1. Hợp nhất các trang Excel với một thứ tự các cột khác nhau Khi bạn kết hợp các trang tính được tạo bởi những người dùng khác nhau, thứ tự các cột thường khác nhau. Để thủ thuật này xác định chính xác giữa các cột, hãy chắc chắn bạn đã chọn tùy chọn My tables have headers.

Tạo Một Ứng Dụng Canvas Từ Đầu Dựa Trên Dữ Liệu Excel / 2023

Tạo một ứng dụng canvas từ đầu dựa trên dữ liệu Excel

12/05/2019

10 phút để đọc

t

Trong bài viết này

Tạo ứng dụng canvas của riêng bạn ngay từ đầu dựa trên dữ liệu Excel, có định dạng bảng và sau đó thêm dữ liệu từ các nguồn khác nếu bạn muốn. Bằng cách làm theo hướng dẫn này, bạn sẽ tạo một ứng dụng chứa 2 màn hình. Trên một màn hình, người dùng có thể duyệt qua tập hợp bản ghi. Trên màn hình khác, người dùng có thể tạo một bản ghi, cập nhật một hoặc nhiều trường trong một bản ghi hoặc xóa toàn bộ bản ghi. Phương pháp này mất nhiều thời gian hơn cách tạo một ứng dụng cơ bản từ Excel, nhưng các nhà phát triển ứng dụng có nhiều kinh nghiệm hơn có thể sử dụng phương pháp này để tạo ứng dụng phù hợp nhất với nhu cầu của họ.

Điều kiện tiên quyết

Để thực hiện chính xác các bước trong hướng dẫn này, trước tiên hãy tạo tệp Excel bằng dữ liệu mẫu này.

Sao chép dữ liệu này rồi dán vào tệp Excel.

StartDay StartTime Volunteer Sao lưu

Thứ Bảy 10am-noon Vasquez Kumashiro

Thứ Bảy noon-2pm Ice Singhal

Thứ Bảy 2pm-4pm Myk Mueller

Chủ Nhật 10am-noon Li Adams

Chủ Nhật noon-2pm Singh Morgan

Chủ Nhật 2pm-4pm Batye Nguyen

Tạo định dạng bảng cho dữ liệu đó, đặt tên là Schedule (Lịch trình) để Power Apps có thể phân tích cú pháp thông tin.

Để biết thêm thông tin, hãy xem phần Định dạng bảng trong Excel.

Lưu tệp dưới tên eventsignup.xlsx, đóng rồi tải tệp lên tài khoản lưu trữ đám mây, chẳng hạn như OneDrive.

Quan trọng

Bạn có thể sử dụng tệp Excel của chính mình và xem lại hướng dẫn này để biết các khái niệm chung. Tuy nhiên, dữ liệu trong tệp Excel phải có định dạng bảng. Để biết thêm thông tin, hãy xem phần Định dạng bảng trong Excel.

Mở ứng dụng trống

Đăng nhập vào Power Apps.

Trong Make your own app (Tạo ứng dụng của riêng bạn), hãy chọn Canvas app from blank (Ứng dụng canvas từ mục trống).

Đặt tên cho ứng dụng của bạn, chọn Phone (Điện thoại) rồi chọn Create (Tạo).

Bạn có thể thiết kế ứng dụng ngay từ đầu cho điện thoại hoặc cho các thiết bị khác (như máy tính bảng). Chủ đề này tập trung vào việc thiết kế ứng dụng cho điện thoại.

Power Apps Studio tạo ứng dụng trống cho điện thoại.

Nếu hộp thoại Welcome to Power Apps Studio (Chào mừng bạn đến với Power Apps Studio) mở ra, hãy chọn Skip (Bỏ qua).

Kết nối với dữ liệu

Ở giữa màn hình, hãy chọn connect to data (kết nối với dữ liệu).

Trong ngăn Data (Dữ liệu), chọn kết nối cho tài khoản lưu trữ đám mây của bạn nếu mục này xuất hiện. Nếu không, hãy làm theo các bước sau để thêm một kết nối:

Chọn New connection (Kết nối mới), chọn ngăn xếp cho tài khoản lưu trữ đám mây của bạn rồi chọn Create (Tạo).

Nếu được nhắc, hãy cung cấp thông tin đăng nhập của bạn cho tài khoản đó.

Trong phần Choose an Excel file (Chọn một tệp Excel), hãy nhập hoặc dán các chữ cái đầu tiên của eventsignup để lọc danh sách, sau đó chọn tệp bạn đã tải lên.

Trong phần Choose a table (Chọn một bảng), hãy chọn hộp kiểm cho Schedule (Lịch trình), sau đó chọn Connect (Kết nối).

Ở góc trên bên phải của ngăn Data (Dữ liệu), hãy đóng ngăn này bằng cách chọn biểu tượng đóng (X).

Tạo màn hình xem

Trên tab Home (Trang chủ), hãy chọn mũi tên xuống bên cạnh New screen (Màn hình mới) để mở danh sách các loại màn hình, sau đó chọn List (Danh sách).

Một màn hình được thêm cùng với một số công cụ điều khiển mặc định, chẳng hạn như hộp tìm kiếm và công cụ điều khiển Gallery (Thư viện). Thư viện chiếm toàn bộ màn hình bên dưới hộp tìm kiếm.

Ở đầu màn hình mới, hãy chọn công cụ điều khiển Label (Nhãn) rồi thay thế [Title] (Tiêu đề) bằng View records (Xem bản ghi).

Trong thanh điều hướng bên trái, hãy chọn BrowseGallery1 (Duyệt qua thư viện 1).

Một hộp lựa chọn với các điều khiển bao quanh thư viện.

Trên tab Properties (Thuộc tính) của ngăn bên phải, chọn mũi tên xuống cho menu Layout (Bố cục).

Chọn Title, subtitle, and body (Tiêu đề, phụ đề và nội dung).

Trong thanh công thức, hãy thay thế CustomGallerySample (Mẫu thư viện tùy chỉnh) bằng Schedule (Lịch trình) và thay thế cả hai trường hợp SampleText (Văn bản mẫu) bằng Volunteer (Tình nguyện viên).

Trên cạnh phải của thanh công thức, hãy chọn mũi tên xuống, sau đó chọn Format text (Định dạng văn bản).

Công thức phù hợp với ví dụ sau:

SortByColumns( Search( Schedule, TextSearchBox1.Text, "Volunteer" ), "Volunteer", If( SortDescending1, SortOrder.Descending, SortOrder.Ascending ) )

Trên tab Properties (Thuộc tính) ở ngăn bên phải, hãy chọn Edit (Chỉnh sửa) bên cạnh nhãn Fields (Trường).

Trong hộp Title2 (Tiêu đề 2), hãy chọn Volunteer, trong hộp Subtitle2 (Phụ đề 2), hãy chọn StartDay (Ngày bắt đầu), và trong hộp Body1 (Nội dung 1), hãy chọn StartTime (Thời gian bắt đầu).

Ở góc trên bên phải của ngăn Data (Dữ liệu), hãy đóng ngăn này bằng cách chọn biểu tượng đóng (X).

Người dùng có thể sắp xếp và lọc thư viện theo tên tình nguyện viên dựa trên các hàm SortByColumn và Search trong công thức đó.

Nếu người dùng nhập ít nhất một chữ cái vào hộp tìm kiếm, thì thư viện chỉ hiển thị những bản ghi mà trường Volunteer (Tình nguyện viên) chứa văn bản mà người dùng đã nhập.

Nếu người dùng chọn nút sắp xếp (giữa nút làm mới và nút dấu cộng trong thanh tiêu đề), thì thư viện sẽ hiển thị các bản ghi theo thứ tự tăng dần hoặc giảm dần (tùy thuộc vào số lần người dùng chọn nút) dựa trên trường Volunteer (Tình nguyện viên).

Để biết thêm thông tin về các hàm này và những hàm khác, hãy xem tham chiếu công thức.

Tạo màn hình thay đổi

Trên tab Home (Trang chủ), hãy chọn mũi tên xuống bên cạnh New screen (Màn hình mới) rồi chọn Form (Biểu mẫu).

Trong thanh điều hướng bên trái, hãy chọn EditForm1 (Chỉnh sửa biểu mẫu 1).

Trên tab Properties (Thuộc tính) ở ngăn bên phải, hãy chọn mũi tên xuống bên cạnh Data source (Nguồn dữ liệu) rồi chọn Schedule (Lịch trình) trong danh sách xuất hiện.

Trong nguồn dữ liệu mà bạn vừa chỉ định, chọn Edit fields (Chỉnh sửa trường).

Trong ngăn Fields (Trường), hãy chọn Add field (Thêm trường), chọn hộp kiểm cho từng trường, sau đó chọn Add (Thêm).

Chọn mũi tên bên cạnh tên của từng trường để thu gọn nó, sau đó kéo trường Volunteer (Tình nguyện viên) lên để trường này xuất hiện ở đầu danh sách các trường.

Ở góc trên bên phải của ngăn Fields (Trường), hãy đóng ngăn này bằng cách chọn biểu tượng đóng (X).

Đặt thuộc tính Item (Mục) của biểu mẫu cho biểu thức này bằng cách nhập hoặc dán thuộc tính này vào thanh công thức:

BrowseGallery1.Selected

Ở đầu màn hình, hãy chọn công cụ điều khiển Label (Nhãn) rồi thay thế [Title] (Tiêu đề) bằng Change records (Thay đổi bản ghi).

Xóa và đổi tên màn hình

Trong thanh điều hướng bên trái, hãy chọn dấu chấm lửng (…) cho Screen1 (Màn hình 1) rồi chọn Delete (Xóa).

Chọn dấu chấm lửng (…) cho Screen2 (Màn hình 2), chọn Rename (Đổi tên) rồi nhập hoặc dán ViewScreen (Màn hình xem).

Chọn dấu chấm lửng (…) cho Screen3 (Màn hình 3), chọn Rename (Đổi tên) rồi nhập hoặc dán ChangeScreen (Màn hình thay đổi).

Đặt cấu hình các biểu tượng trên màn hình xem

Gần đầu ViewScreen (Màn hình xem), hãy chọn biểu tượng mũi tên tròn.

Đặt thuộc tính OnSelect cho biểu tượng đó theo công thức sau:

Refresh(Schedule)

Khi người dùng chọn biểu tượng này, dữ liệu từ Schedule (Lịch trình) được làm mới từ tệp Excel.

Để biết thêm thông tin về hàm này và các hàm khác, hãy xem nội dung tham khảo về công thức.

Ở góc trên bên phải ViewScreen (Màn hình xem), hãy chọn biểu tượng dấu cộng.

Đặt thuộc tính OnSelect cho biểu tượng đó theo công thức sau:

NewForm(EditForm1);Navigate(ChangeScreen,ScreenTransition.None)

Khi người dùng chọn biểu tượng này, ChangeScreen (Màn hình thay đổi) sẽ xuất hiện với mỗi trường trống, để người dùng có thể tạo bản ghi dễ dàng hơn.

Chọn mũi tên phải cho bản ghi đầu tiên trong thư viện.

Đặt thuộc tính OnSelect cho mũi tên đó theo công thức sau:

EditForm(EditForm1); Navigate(ChangeScreen, ScreenTransition.None)

Khi người dùng chọn biểu tượng này, ChangeScreen (Màn hình thay đổi) sẽ xuất hiện với mỗi trường hiển thị dữ liệu cho bản ghi đã chọn, để người dùng có thể chỉnh sửa hoặc xóa bản ghi dễ dàng hơn.

Đặt cấu hình các biểu tượng trên màn hình thay đổi

Trên ChangeScreen (Màn hình thay đổi), hãy chọn biểu tượng “X” ở góc trên bên trái.

Đặt thuộc tính OnSelect cho biểu tượng đó theo công thức sau:

ResetForm(EditForm1);Navigate(ViewScreen, ScreenTransition.None)

Khi người dùng chọn biểu tượng này, mọi thay đổi mà người dùng thực hiện trong màn hình này sẽ bị hủy bỏ và màn hình xem sẽ mở ra.

Ở góc trên bên phải, hãy chọn biểu tượng dấu kiểm.

Đặt thuộc tính OnSelect cho dấu kiểm đó theo công thức sau:

SubmitForm(EditForm1); Navigate(ViewScreen, ScreenTransition.None)

Khi người dùng chọn biểu tượng này, mọi thay đổi mà người dùng thực hiện trong màn hình này sẽ được lưu và màn hình xem sẽ mở ra.

Trên tab Insert (Chèn), hãy chọn Icons (Biểu tượng) rồi chọn biểu tượng Thùng rác.

Đặt thuộc tính Color (Màu) của biểu tượng mới thành White (Trắng) và di chuyển biểu tượng mới để biểu tượng này xuất hiện bên cạnh biểu tượng dấu kiểm.

Đặt thuộc tính Visible (Hiển thị) cho biểu tượng thùng rác đó theo công thức sau:

EditForm1.Mode = FormMode.Edit

Biểu tượng này sẽ chỉ xuất hiện khi biểu mẫu ở chế độ Edit (Chỉnh sửa), chứ không phải ở chế độ New (Mới).

Đặt thuộc tính OnSelect cho biểu tượng thùng rác đó theo công thức sau:

Remove(Schedule, BrowseGallery1.Selected); Navigate(ViewScreen, ScreenTransition.None)

Khi người dùng chọn biểu tượng này, bản ghi đã chọn sẽ bị xóa khỏi nguồn dữ liệu và màn hình xem sẽ mở ra.

Kiểm tra ứng dụng

Chọn ViewScreen (Màn hình xem) rồi mở chế độ Xem trước bằng cách nhấn F5 (hoặc bằng cách chọn biểu tượng Xem trước gần góc trên bên phải).

Nhập hoặc dán một hoặc nhiều chữ cái vào hộp tìm kiếm để lọc danh sách dựa trên tên của tình nguyện viên.

Chọn biểu tượng sắp xếp một hoặc nhiều lần để hiển thị dữ liệu theo thứ tự tăng dần hoặc giảm dần dựa trên tên của tình nguyện viên.

Thêm bản ghi.

Cập nhật bản ghi mà bạn đã thêm, sau đó lưu các thay đổi.

Cập nhật bản ghi mà bạn đã thêm, sau đó hủy các thay đổi.

Xóa bản ghi mà bạn đã thêm.

Đóng chế độ Preview (Xem trước) bằng cách nhấn Esc (hoặc chọn biểu tượng đóng ở góc trên bên phải).

Các bước tiếp theo

Nhấn Ctrl-S để lưu ứng dụng trên đám mây để bạn có thể chạy ứng dụng đó từ các thiết bị khác.

Chia sẻ ứng dụng để những người khác có thể chạy ứng dụng đó.

Tìm hiểu thêm về các hàm, chẳng hạn như Patch, mà bạn có thể sử dụng để quản lý dữ liệu mà không cần tạo biểu mẫu chuẩn.

Liên kết ứng dụng này với một giải pháp để bạn có thể triển khai ứng dụng ở một môi trường khác hoặc phát hành trên AppSource.

10.2 Một Số Thao Tác Đọc Dữ Liệu Từ File Trong C++ / 2023

Chào các bạn đang theo dõi khóa học lập trình trực tuyến ngôn ngữ C++.

Mình đã trình bày đến các bạn một số thao tác cơ bản với file khi sử dụng thư viện cstdio (trong ngôn ngữ lập trình C), sử dụng thư viện này, chúng ta sẽ sử dụng một con trỏ kiểu FILE làm cầu nối trung gian giữa chương trình của chúng ta và file, mọi thao tác trên file đều phải sử dụng con trỏ kiểu FILE này. Trong bài học này, các bạn sẽ cùng mình tìm hiểu thêm một số cách để thao tác với file bằng cách sử dụng các stream mà ngôn ngữ C++ cung cấp.

Như mình giới thiệu ở bài học trước, để thao tác với file trong ngôn ngữ C++, chúng ta sử dụng các class như ifstream (file input), ofstream (file output), hoặc fstream (file input/output) và dữ liệu sẽ được truyền đi một cách tuần tự qua các đối tượng của các stream này, để đi vào file hoặc đi từ file ra chương trình.

File input

Đầu tiên mình muốn giới thiệu đến các bạn một số thao tác đọc dữ liệu từ file sử dụng class fstream mà ngôn ngữ C++ cung cấp. Để sử dụng class này, chúng ta cần include file fstream vào file chương trình:

Do class ifstream và ofstream đều được định nghĩa bên trong file fstream, nên chúng ta chỉ cần include thư viện fstream là có thể sử dụng cả hai class này.

Bây giờ chúng ta cùng tạo một đối tượng file input thuộc kiểu ifstream:

std

::

ifstream

fileInput

(

"C:/Users/ADMIN/Desktop/my_document.txt"

)

;

File mà mình muốn đọc có tên là my_document.txt trong thư mục Desktop trên máy tính của mình. Class ifstream có nhiều phương thức khởi tạo khác nhau, nhưng đơn giản nhất là chúng ta truyền vào một string là đường dẫn chính xác của file chúng ta cần đọc dữ liệu. Nếu file đó nằm trong thư mục mà chương trình được build ra thì chúng ta có thể sử dụng đường dẫn tương đối.

Bây giờ mình sẽ kiểm tra xem đối tượng fileInput của mình đã liên kết được đến file cần mở hay chưa bằng cách sau:

if

(fileInput.fail())

std

::

cout

<<

"Failed to open this file!"

<<

std

::

endl

;

Phương thức fail sẽ trả về false nếu đối tượng của ifstream không liên kết đến file được. Và chính xác là nó đã không liên kết được với file.

Đó là do trong thư mục Desktop của mình chưa có file my_document.txt nào cả. Bây giờ mình tạo một file my_document.txt chưa có dữ liệu trong thư mục Desktop, chương trình không còn thông báo lỗi gì nữa.

Như các bạn thấy, chúng ta sử dụng các phương thức được định nghĩa trong class ifstream, nên chúng ta chỉ cần sử dụng member selection operator (.) để gọi các phương thức đã định nghĩa sẵn.

Một điều chúng ta cần lưu ý khi thao tác đọc ghi file với ngôn ngữ C là chúng ta luôn phải gọi hàm đóng file fclose ngay khi không còn sử dụng đến file nữa. Đối với các stream xử lý file trong C++ thì đơn giản hơn, khi ra khỏi phạm vi khối lệnh, destructor sẽ tự gọi phương thức close và file stream sẽ tự động đóng lại.

Do đó, các bạn có thể xử lý như sau (hoặc không cần thiết cũng được):

std

::

ifstream

input

(

"C:/Users/ADMIN/Desktop/my_document.txt"

)

;

if

(input.fail()) {

std

::

cout

<<

"Failed to open this file!"

<<

std

::

endl

;

return

-1

; } input.close();

Bây giờ đến phần xử lý đọc dữ liệu từ file, dữ liệu từ file sẽ truyền qua stream vào các biến trong chương trình. Nhưng trước hết, mình cần thêm một số dữ liệu vào file my_document.txt trước. Nội dung của file my_document.txt như sau:

1

2

3

4

5

Mình sẽ có chương trình đọc dữ liệu từ file thông qua đối tượng fileInput và in ra màn hình như sau:

int

main

()

{

std

::

ifstream

fileInput

(

"C:/Users/ADMIN/Desktop/my_document.txt"

)

;

if

(fileInput.fail()) {

std

::

cout

<<

"Failed to open this file!"

<<

std

::

endl

;

return

-1

; }

while

(!fileInput.eof()) {

int

n;

std

::

cout

<< n <<

" "

; }

std

::

cout

<<

std

::

endl

; fileInput.close();

return

0

; }

Tuy nhiên, chúng ta cần biết rõ cấu trúc tổ chức dữ liệu bên trong file là như thế nào để tránh các trường hợp ngoại lệ xảy ra. Ví dụ mình giữ nguyên cấu trúc chương trình như trên và sửa lại file my_document.txt có nội dung như sau:

1 2 3 4 5 a b c

Thử chạy lại chương trình trên, chương trình sẽ rơi vào tình trạng lặp vô hạn. Đó là do kiểu dữ liệu mà chúng ta chọn để lưu giá trị đọc từ file là số nguyên, nhưng trong file lại xuất hiện các kí tự. Do đó, khi đọc hết số nguyên trong file, các kí tự không thể đưa vào biến n được do lỗi định dạng, vòng lặp while không thể kết thúc do chúng ta đặt điều kiện là đọc cho đến khi kết thúc file.

Để khắc phục tình trạng này, chúng ta cần kiểm tra dữ liệu đọc từ file đưa vào chương trình có đúng định dạng hay không, chúng ta có thể làm như sau:

std

::

ifstream

fileInput

(

"C:/Users/ADMIN/Desktop/my_document.txt"

)

;

if

(fileInput.fail())

std

::

cout

<<

"Failed to open this file!"

<<

std

::

endl

;

while

(!fileInput.eof()) {

int

n;

std

::

cout

<< n <<

" "

;

else

return

-2

; }

std

::

cout

<<

std

::

endl

; fileInput.close(); system(

"pause"

);

return

0

;

Nhấn F5 để chạy chương trình dưới chế độ Debug, chúng ta sẽ thấy chương trình dừng lại khi đọc xong giá trị 5 và trả về giá trị -2 cho hệ điều hành. Mình đã sử dụng if statement để kiểm tra xem extraction operator có được thực hiện đúng hay không.

Nếu chúng ta vẫn muốn đọc toàn bộ dữ liệu trong file và in ra màn hình, chúng ta có thể đọc từng kí tự trong file vào biến kiểu char, thay vì kiểu số nguyên:

while

(!fileInput.eof()) {

char

c;

std

::

cout

<< c <<

" "

; }

std

::

cout

<<

std

::

endl

;

Tiếp theo, chúng ta cùng thử đọc từng dòng dữ liệu trong file vào các đối tượng std::string và in chúng ta màn hình. Mình thay đổi nội dung file my_document.txt thành như sau:

This

is

line

1

This

is

line

2

This

is

line

3

This

is

line

4

This

is

line

5

while

(!fileInput.eof()) {

char

temp[

255

]; fileInput.getline(temp,

255

);

std

::

string

line = temp;

std

::

cout

<< line <<

std

::

endl

; }

Mình đã sử dụng phương thức getline có sẵn trong class ifstream để đọc dữ liệu từ file và đưa vào một C-style string có kích thước cố định cho trước, sau đó dùng C-style string đó đưa vào đối tượng của std::string để giảm kích thước bộ nhớ dư thừa.

Ngoài một số cách đọc dữ liệu từ file thông qua đối tượng của class ifstream mà mình nói trên, chúng ta còn rất nhiều cách khác, với rất nhiều phương thức khác mà class ifstream đã hổ trợ. Việc chọn cách nào để đọc dữ liệu còn phụ thuộc vào cấu trúc dữ liệu được tổ chức bên trong file như thế nào.

Các bạn có thể tìm hiểu thêm về thư viện ifstream tại đường dẫn sau:

http://www.cplusplus.com/reference/fstream/ifstream/

File input modes

Nếu chúng ta tạo liên kết đến file thông qua đối tượng của class ifstream, mode std::ios::in được sử dụng mặc định. Tuy nhiên, khi sử dụng file input/output stream với class fstream thì chúng ta cần chọn mode cho đối tượng, ví dụ:

std

::

fstream

fileInput

(

"C:/Users/ADMIN/Desktop/my_document.txt"

,

std

::ios::in)

;

if

(fileInput.fail())

std

::

cout

<<

"Failed to open this file!"

<<

std

::

endl

;

while

(!fileInput.eof()) {

char

temp[

255

]; fileInput.getline(temp,

255

);

std

::

string

line = temp;

std

::

cout

<< line <<

std

::

endl

; }

std

::

cout

<<

std

::

endl

; fileInput.close();

Bên cạnh đó, chúng ta cũng có thể mở file dưới dạng nhị phân:

Đọc dữ liệu dưới dạng nhị phân có thể được áp dụng cho cả file nhị phân hoặc file văn bản.

Sử dụng một input stream cho nhiều file

Cũng như việc chúng ta tạo liên kết tới file với một đường dẫn cụ thể và sử dụng phương thức close để đóng stream, chúng ta cũng có thể sử dụng phương thức open để tạo một stream mới đến một đường dẫn khác. Ví dụ:

std

::ifstream fileInput(

"C:/Users/ADMIN/Desktop/my_document.txt"

); fileInput

.close

(); fileInput

.open

(

""

C

:/Users/ADMIN/Desktop/my_document2.txt

""

); fileInput

.close

();

Phương thức open hoạt động tương tự phương thức khởi tạo của class ifstream, nên chúng ta có thể tạo kết nối nhiều lần. Tuy nhiên, chúng ta chỉ có thể kết nối đến một file duy nhất tại một thời điểm. Và trước khi tạo liên kết đến file khác, chúng ta nên đóng liên kết trước đó.

Tổng kết

Tổng hợp: đọc file bằng C++ và C

writes

Mình tìm thấy nhiều cách đọc file bằng C++ vào std::string khác nhau, post tạm 1 cách đã, có thời gian post dần thêm.

Cách đầu tiên là đọc file bằng istreambuf_iterator. Ví dụ cụ thể:

File chúng tôi lưu với nội dung như sau:

nguyen chiem minh vu 01216558383 (EOF)

Và đọc file như vầy:

using namespace std;

int main() {

ifstream textfile(“text.txt”); string s1;

http://rapidxml.sourceforge.net/index.htm

Hẹn gặp lại các bạn trong bài học tiếp theo trong khóa học lập trình C++ hướng thực hành.

Mọi ý kiến đóng góp hoặc thắc mắc có thể đặt câu hỏi trực tiếp tại diễn đàn.

www.daynhauhoc.com

Bạn đang đọc nội dung bài viết Cách Tổng Hợp Dữ Liệu Từ Nhiều File Excel Về Một File Excel / 2023 trên website Jetstartakeontheworld.com. Hy vọng một phần nào đó những thông tin mà chúng tôi đã cung cấp là rất hữu ích với bạn. Nếu nội dung bài viết hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!