InputInExcel: Nhập liệu nâng cao cho Excel – Gõ để tìm, chọn để nhập (1 người xem)

Người dùng đang xem chủ đề này

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia
9/6/12
Bài viết
5,620
Được thích
4,145
Giới tính
Nam
Ý tưởng từ chủ đề sau từ bài số 30

Nhờ ChatGPT phân tích và viết bài sau ... Copy nguyên văn vào đây ... bàn luận xem nên như thế nào ???!!!


Thảo luận: Nên chọn kỹ thuật nào để xây dựng tính năng nhập liệu nâng cao cho Excel?​

Mình đang nghiên cứu một tính năng nhập liệu nâng cao cho Excel.

Ý tưởng rất đơn giản:

  • Chọn một ô trên Sheet.
  • Người dùng bắt đầu gõ ký tự.
  • Danh sách được lọc theo từ khóa ngay khi nhập.
  • Có thể dùng chuột hoặc phím ↑ ↓ để chọn.
  • Nhấn Enter để ghi dữ liệu vào ô.
Về giao diện thì không có gì đặc biệt, nhưng khi bắt đầu triển khai thì mình thấy có vẻ tồn tại hai hướng tiếp cận khác nhau.

Hướng 1: Sử dụng Form/Popup​

Đây là cách mình thấy khá nhiều phần mềm áp dụng.

Nguyên lý đại khái là:

  • Hiển thị một Form hoặc Popup ngay gần ô đang chọn.
  • Form nhận toàn bộ thao tác bàn phím.
  • Người dùng thực chất nhập trên Form.
  • Sau khi chọn xong mới ghi dữ liệu xuống Cell.
Ưu điểm mình nghĩ là:

  • Dễ kiểm soát bàn phím.
  • Không phải xử lý quá nhiều với Excel.
  • Ít phụ thuộc vào Edit Mode của Excel.
Nhược điểm có thể là:

  • Phải đồng bộ vị trí Popup theo Cell.
  • Khi cuộn Sheet, Zoom, Freeze Pane... cần cập nhật vị trí.
  • Trải nghiệm có thể không hoàn toàn giống nhập trực tiếp trên Excel.

Hướng 2: Làm việc trực tiếp với Cell của Excel​

Hướng thứ hai là cố gắng để người dùng vẫn nhập ngay trên ô Excel.

Ý tưởng là:

  • Excel vẫn nhận thao tác nhập.
  • Danh sách gợi ý xuất hiện theo thời gian thực.
  • Có thể chọn bằng chuột hoặc bàn phím.
  • Enter sẽ ghi dữ liệu vào Cell.
Ưu điểm là trải nghiệm rất tự nhiên, giống như một phần của Excel.

Tuy nhiên mình đoán hướng này sẽ khó hơn vì phải xử lý khá nhiều vấn đề như:

  • Focus.
  • Keyboard.
  • Edit Mode.
  • Formula Bar.
  • Enter, Esc, Tab.
  • Phím ↑ ↓.
  • Selection.
  • Các phiên bản Excel khác nhau.

Điều mình đang băn khoăn​

Không biết trong thực tế các Add-in thương mại thường chọn hướng nào?

Ví dụ:

  • Các Add-in viết bằng Delphi.
  • C# / VSTO.
  • Excel-DNA.
  • C++.
  • COM Add-in.
Theo kinh nghiệm của mọi người:

  • Hai hướng trên có tên gọi chính xác là gì?
  • Hướng nào ổn định hơn?
  • Có hướng thứ ba mà mình chưa biết không?
  • Khi triển khai thực tế thì thường gặp khó khăn gì?
Mình rất mong được nghe chia sẻ từ những anh em đã từng viết Add-in hoặc xử lý giao diện nhập liệu trong Excel.

Xin cảm ơn!


 
Lần chỉnh sửa cuối:
Delphi delphi Delphi com com
sẽ có hai bản song song là COM AddIns và XLL

sau khi thử mọi cái hoạt động đúng thiết kế sẽ viết XLL trên C++ Builder ... suy cho cùng viết C++ là dễ viết nhất vì xử lý tốt hơn

Vì khai phá ra phương pháp viết nên đang sử dụng Delphi cho dễ dò mã khi viết ... giống như trước đây tôi hay dùng VB6 dò mã xong hiểu phương pháp

thì bỏ viết chính thức trên Delphi nên Hiện tại biết nhiều ngôn ngữ mà vẫn sử dụng VB6 là vậy
 
Nhập liệu nâng cao – Gõ để tìm, chọn để nhập


Khi người dùng gõ ký tự, danh sách sẽ được lọc ngay theo từ khóa. Hỗ trợ chọn bằng chuột hoặc phím mũi tên ↑ ↓, sau đó nhấn Enter để nhập dữ liệu vào ô đang chọn trong Excel.


Không giống các giải pháp sử dụng hộp thoại nhập liệu riêng, Add-in hiển thị popup gợi ý ngay trên ô đang chọn của Excel. Người dùng chỉ cần gõ để tìm, chọn để nhập, mang lại trải nghiệm nhập liệu tự nhiên, nhanh và liền mạch như một phần của Excel.

1784464929845.png
Đúng, và theo mình đây chính là điểm "đắt" của trải nghiệm.

Nhìn hình này, người dùng sẽ hiểu ngay:

  1. Chọn ô.
  2. 4.
  3. Danh sách tự lọc, dòng 4 - Viettel 100 được nổi bật.
  4. Nhấn Enter.
  5. Dữ liệu ghi xuống ô.
  6. Tiếp tục ô kế tiếp.
Không cần:

  • ❌ Mở Form.
  • ❌ Click OK.
  • ❌ Đóng Form.
  • ❌ Quay lại Excel.
Đó là điều rất khác biệt.


Theo mình, khi giới thiệu Add-in, bạn nên nhấn mạnh đúng quy trình này:

Chọn ô → Gõ → ↑ ↓ → Enter
Chỉ bốn bước.

Hoặc ngắn hơn nữa:

Đó chính là khẩu hiệu của Add-in.


Điều mình còn thích trong hình này là cột tìm kiếm vẫn được hiển thị.

Ví dụ bạn cấu hình:

  • Cột 1 = Mã.
  • Cột 2 = Tên.
  • Cột 3 = Giá.
  • Cột tìm kiếm = Cột 1.
Người dùng gõ:

4

thấy ngay:

4 Viettel 100 385824 ...
Não người dùng xác nhận ngay:

Rồi chỉ việc Enter.

Không phải đọc cả dòng.


Theo mình, sau này khi làm video demo, chỉ cần quay khoảng 15–20 giây:

Chọn ô


Gõ: 4





Enter


Ô tiếp theo



Gõ: 2



Enter



Gõ: 8



Enter
Không cần lời giải thích dài dòng.

Người xem sẽ tự hiểu:

"À, đây là công cụ giúp nhập danh mục trong Excel rất nhanh."
Đó là kiểu demo rất thuyết phục vì nó thể hiện đúng giá trị của Add-in: tăng tốc nhập liệu bằng những thao tác quen thuộc ngay trên Excel.
 

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

Back
Top Bottom