Chia sẻ - Python - Trộn dữ liệu bảng Excel sang file Word mẫu (1 người xem)

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

Maika8008

Thành viên gạo cội
Tham gia
12/6/20
Bài viết
4,939
Được thích
5,953
Donate (Momo)
Donate
Giới tính
Nam
Trước đây với mã VBA từ Excel trộn dữ liệu vào Word thường tốc độ khá chậm ở các khâu mở, ghi, lưu, đóng file Word. Tôi đã có chia sẻ cách làm đó tại chủ đề này [Chia sẻ] Dùng VBA trộn dữ liệu Excel sang file Word mẫu (tương tự chức năng Mail Merge). Nay tôi thử làm bằng Python thì tốc độ nhanh gấp bội. Ở máy có cài môi trường Python thì trộn 1 văn bản không có bảng kèm theo hết khoảng chưa đến nửa giây. Tuy nhiên khi đóng gói phân phối cho máy người dùng cuối không cài Python thì có thể lâu hơn 1 chút do phải gọi qua Shell.

Vậy nay tôi chia sẻ file lên đây cho ai có nhu cầu thì tải về dùng thử. Tải các file về để chung 1 thư mục, gồm:
- File .exe dung lượng hơi lớn, tải về từ link này
- File Excel chứa form và mã VBA gọi Python.
- File Word mẫu
Lần đầu mở file Excel, hãy thay đường dẫn mặc định tại ô H2.
 

File đính kèm

Tuy nhiên khi đóng gói phân phối cho máy người dùng cuối không cài Python thì có thể lâu hơn 1 chút do phải gọi qua Shell.
Vậy sao bác không thiết kế tool, giao diện xử lý bằng Python luôn, còn các file Excel chỉ làm dữ liệu nguồn để tương tác thôi, khỏi phải từ Excel gọi tới file Python. Tôi nghĩ nó sẽ nhanh hơn nhiều.
 
Vậy sao bác không thiết kế tool, giao diện xử lý bằng Python luôn, còn các file Excel chỉ làm dữ liệu nguồn để tương tác thôi, khỏi phải từ Excel gọi tới file Python. Tôi nghĩ nó sẽ nhanh hơn nhiều.
Hihi, vừa làm vừa học, trình chưa tới nên cứ nghĩ sao làm vậy.
 
Trước đây với mã VBA từ Excel trộn dữ liệu vào Word thường tốc độ khá chậm ở các khâu mở, ghi, lưu, đóng file Word. Tôi đã có chia sẻ cách làm đó tại chủ đề này [Chia sẻ] Dùng VBA trộn dữ liệu Excel sang file Word mẫu (tương tự chức năng Mail Merge). Nay tôi thử làm bằng Python thì tốc độ nhanh gấp bội. Ở máy có cài môi trường Python thì trộn 1 văn bản không có bảng kèm theo hết khoảng chưa đến nửa giây. Tuy nhiên khi đóng gói phân phối cho máy người dùng cuối không cài Python thì có thể lâu hơn 1 chút do phải gọi qua Shell.

Vậy nay tôi chia sẻ file lên đây cho ai có nhu cầu thì tải về dùng thử. Tải các file về để chung 1 thư mục, gồm:
- File .exe dung lượng hơi lớn, tải về từ link này
- File Excel chứa form và mã VBA gọi Python.
- File Word mẫu
Lần đầu mở file Excel, hãy thay đường dẫn mặc định tại ô H2.
Trước đây em có làm một cái, xuất ra file word thì khoảng 100 file/giây, xuất ra PDF thì lâu hơn nhưng có thêm phần đặt mật khẩu cho từng file pdf. Có chế độ gửi thẳng email.
1786933041207.png
 
Lần chỉnh sửa cuối:
Trước đây với mã VBA từ Excel trộn dữ liệu vào Word thường tốc độ khá chậm ở các khâu mở, ghi, lưu, đóng file Word. Tôi đã có chia sẻ cách làm đó tại chủ đề này [Chia sẻ] Dùng VBA trộn dữ liệu Excel sang file Word mẫu (tương tự chức năng Mail Merge). Nay tôi thử làm bằng Python thì tốc độ nhanh gấp bội. Ở máy có cài môi trường Python thì trộn 1 văn bản không có bảng kèm theo hết khoảng chưa đến nửa giây. Tuy nhiên khi đóng gói phân phối cho máy người dùng cuối không cài Python thì có thể lâu hơn 1 chút do phải gọi qua Shell.

Vậy nay tôi chia sẻ file lên đây cho ai có nhu cầu thì tải về dùng thử. Tải các file về để chung 1 thư mục, gồm:
- File .exe dung lượng hơi lớn, tải về từ link này
- File Excel chứa form và mã VBA gọi Python.
- File Word mẫu
Lần đầu mở file Excel, hãy thay đường dẫn mặc định tại ô H2.
làm python cũng có thể làm kiểu com được mà rồi vẽ form bằng vba cho nó nhẹ, cài đăng ký python cũng dược. còn nếu to làm luôn trên python ạ
 
Trước đây em có làm một cái, xuất ra file word thì khoảng 100 file/giây, xuất ra PDF thì lâu hơn nhưng có thêm phần đặt mật khẩu cho từng file pdf. Có chế độ gửi thẳng email.
View attachment 312344
Tôi làm kiểu thực dụng cho anh em dùng Excel vì nó bắt đầu từ nơi quen thuộc. Dùng kiểu như của bạn trông thì chuyên nghiệp, bắt mắt nhưng hơi rối với người mới.
 
Trước đây em có làm một cái, xuất ra file word thì khoảng 100 file/giây...
Tôi cũng muốn tìm hiểu học hỏi xem Python nó hoạt động, tương tác như thế nào với Excel và Word để nhanh hơn so với VBA trong trường hợp này.
Bạn dùng thư viện pywin32, openpyxl, python-docx...? Nếu qua COM thì có thể tốc độ xử lý cũng như VBA thì phải?
(Chỉ xét trường hợp số dòng dữ liệu Excel không nhiều, chừng 500 dòng đổ lại)
 
Tôi cũng muốn tìm hiểu học hỏi xem Python nó hoạt động, tương tác như thế nào với Excel và Word để nhanh hơn so với VBA trong trường hợp này.
Bạn dùng thư viện pywin32, openpyxl, python-docx...? Nếu qua COM thì có thể tốc độ xử lý cũng như VBA thì phải?
(Chỉ xét trường hợp số dòng dữ liệu Excel không nhiều, chừng 500 dòng đổ lại)
Em dùng những thư viện này anh ạ.
1786982373415.png
 

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

Back
Top Bottom