Hướng dẫn how do i create a template in excel using python? - làm cách nào để tạo mẫu trong excel bằng python?

Cuộc sống dễ dàng hơn nhiều với điều đó!

Tạo một mẫu cho tài liệu lặp đi lặp lại của bạn có thể giúp bạn tiết kiệm rất nhiều thời gian. Nhưng, bạn có thể tưởng tượng khi bạn có mẫu và dữ liệu bên trong nó có thể được thực hiện tự động không?

Hãy để tự động tạo tệp Excel với Python!

Ví dụ: trong bài viết này, tôi sẽ tạo một bảng hệ thống phân loại mẫu trông như thế nàya sample grading system sheet that looks like this

Bảng điểm phân loại mẫu

Bước 1 - Cài đặt thư viện mà bạn cần

Tôi sử dụng xlsxwriterto giúp tôi trong suốt quá trình, đừng quên nhập nó vào mã python sau khi cài đặt hoàn tấtxlsxwriterto help me through the process, don’t forget to import it to the Python code after installation complete

pip install xlsxwriter

Bước 2 - Tạo sổ làm việc

Bản thân sổ làm việc sẽ chứa một hoặc nhiều bảng tính (nơi chúng tôi sẽ làm việc). Chúng tôi tạo một tập tin có tên Grading.xlsx. Quá trình này sẽ tạo ra một sổ làm việc trống với một bảng tính duy nhấtgrading.xlsx. This process will generate an empty workbook with a single worksheet

import xlsxwriterworkbook = xlsxwriter.Workbook('grading.xlsx')

Bước 3 - Tạo bảng tính

Chúng tôi sẽ tạo một bảng tính để làm việc trên mẫu mà chúng tôi có ở trên

worksheet = workbook.add_worksheet('Assignment 1')

Bước 4 - Tạo mẫu

Xác định hàng và col (không chỉ số)

row = 0
col = 0

Điều đó có nghĩa là chúng ta có một con trỏ tới di động A1 của các tấm, điều này sẽ giúp chúng ta trong quá trình tạo mẫu.to cell A1 of the sheets, this will help us through the template-making process.

Tên cột trong mẫu rộng hơn các mẫu khác. Chúng ta cần điều chỉnh nó để cột trở nên lớn hơn

worksheet.set_column('B:B', 15)

Trước khi viết một cái gì đó trong trang tính, tôi tạo một số chức năng để giúp tôi định dạng văn bản sẽ được viết

def default_format(workbook):
default = workbook.add_format({
'font_name':REGULAR_FONT,
'font_size':REGULAR_SIZE,
'valign':'top',
})
return default
def text_box_wrap_format(workbook):
text_box_wrap = workbook.add_format({
'font_name':REGULAR_FONT,
'font_size':REGULAR_SIZE,
'align':'justify',
'valign':'vcenter',
'border':True,
'text_wrap':True
})
return text_box_wrap
def text_box_center_wrap_format(workbook):
text_box_center_wrap = workbook.add_format({
'font_name':REGULAR_FONT,
'font_size':REGULAR_SIZE,
'align':'center',
'valign':'vcenter',
'border':True,
'text_wrap':True
})
return text_box_center_wrap

Tạo tiêu đề của mẫu. Đối với hai cột đầu tiên, nó dễ dàng. Chúng ta cần hàm Merge_Range từ XLSXWRITER.WorkSheet.

worksheet.merge_range(row, col, row+3, col, "No.", text_box_center_wrap_format(workbook))
worksheet.merge_range(row, col+1, row+3, col+1, "Name", text_box_center_wrap_format(workbook))

Đối với cột chỉ số chấm điểm, nó khó khăn hơn. Chúng tôi cần một số thao tác python

indicators = [
['Correctness', 40],
['Doccumentation', 40],
['Demo', 20]
]
tmp_col = col+2+len(indicators)-1
worksheet.merge_range(
row, col+2, row, tmp_col, "Grading Indicators",
text_box_center_wrap_format(workbook)
)
for idx, indicator in enumerate(indicators):
worksheet.write(row+1, col+2+idx, idx+1, text_box_center_wrap_format(workbook))
worksheet.write(row+2, col+2+idx, indicator[1], text_box_center_wrap_format(workbook))

Cho cột cuối cùng

worksheet.merge_range(row, tmp_col+1, row+2, tmp_col+1, "Total", text_box_center_wrap_format(workbook))
Bảng tính hiện tại trông giống như

Cập nhật hàng để nó chỉ ô A4cell A4

row += 3

Bây giờ, chúng ta cần điền vào biểu mẫu. Tôi cần nhập một cái gì đó bên dưới để chuyển đổi hàng, coll sang ký hiệu ô

import xlsxwriterworkbook = xlsxwriter.Workbook('grading.xlsx')
0

Tôi thêm một từ điển của nhãn hiệu

import xlsxwriterworkbook = xlsxwriter.Workbook('grading.xlsx')
1

Viết ra lớp vào ô

import xlsxwriterworkbook = xlsxwriter.Workbook('grading.xlsx')
2

Bây giờ, nó trông như thế này

Yay! có vẻ tốt đẹp

Để hoàn thiện nó, chúng ta cần viết các chỉ số giải thích

import xlsxwriterworkbook = xlsxwriter.Workbook('grading.xlsx')
3

Cuối cùng, chúng ta cần đóng sổ làm việc

import xlsxwriterworkbook = xlsxwriter.Workbook('grading.xlsx')
4 kết quả

Chúng ta xong rồi!

Làm thế nào tôi thực hiện nó trong ppl?

Trong các dự án kỹ thuật phần mềm của tôi, tôi đã yêu cầu hoàn thành nhiệm vụ về việc tạo các tệp Excel cho Sisidang.

Mẫu mẫu mà tôi cần thực hiện

Vấn đề trong quá trình

  1. Yêu cầu thay đổi theo thời gian. Nhưng nó được xử lý vì chúng tôi sử dụng phương pháp Agile cho giai đoạn phát triển
  2. Nhiệm vụ bao gồm chèn chữ ký của giảng viên trong mẫu. Nó khó khăn vì bạn cần thay đổi kích thước và thay đổi thuộc tính của hình ảnh chữ ký để nó có thể phù hợp với ô được đưa ra. Tôi phải mất cả ngày để tìm thứ gì đó có thể khắc phục điều đó

Những điều mà tôi đã học được từ nó

  1. Tạo một mẫu với Excel, không phải về mọi thứ được mã hóa cứng trong mẫu. Nó cần thiết để tạo ra một chức năng có thể được sử dụng nhiều lần cho một mẫu khác. Nó có thể giúp bạn tiết kiệm thời gian phát triển và cố gắng thay đổi hoặc gỡ lỗi một cái gì đó cho ví dụ, tôi đã sử dụng nó để tạo định dạng (được đưa ra trong mẫu trên) và đưa ra chữ ký trong các tờ
    For example, I used it to create format (given in the sample above) and give signature in the sheets
  2. Tách các tệp làm cho tôi tập trung hơn trong khi tôi thực hiện nhiệm vụ. Ví dụ: tôi tạo berkas_helper.py để quản lý tất cả về định dạng ô và creenate_berkas.py cho logic chính cho việc tạo mẫuberkas_helper.py to manage all about cell formatting and genereate_berkas.py for the main logic for the template generation
  3. Nó đã giúp rất nhiều vì dữ liệu chúng ta cần thực hiện mẫu được đặt trong cơ sở dữ liệu. Vì vậy, tự động hóa có thể được thực hiện với mã này. Nó có thể làm giảm sự tham gia của con người để lấp đầy mẫu.

Bạn có thể tạo mẫu của riêng bạn trong Excel không?

Mở sổ làm việc mà bạn muốn sử dụng làm mẫu. , và sau đó nhấp vào Lưu dưới dạng. Trong hộp tên tệp, nhập tên mà bạn muốn sử dụng cho mẫu. Trong hộp lưu dưới dạng loại, nhấp vào mẫu Excel hoặc nhấp vào mẫu hỗ trợ macro excel nếu sổ làm việc chứa macro mà bạn muốn cung cấp trong mẫu.

Tôi có thể sử dụng Python để tự động hóa Excel không?

Nhìn chung, Python Excel Automation là một quá trình sáng tạo mà bạn có thể sử dụng để tạo các báo cáo trực quan về Python giống như cách bạn làm trên Excel một cách liền mạch.Các tổ chức có thể tận dụng tự động hóa Python Excel để tận dụng các nhiệm vụ kinh doanh của họ theo nhu cầu của họ.Python Excel Automation is an innovative process that you can use to create visual reports on Python just the same way as you would on Excel seamlessly. Organizations can leverage Python Excel Automation to leverage their business tasks according to their needs.

Tôi có thể sử dụng Python thay vì VBA trong Excel không?

Phải, chắc chắn rồi!VBA thường được sử dụng để tự động hóa Excel với macro, thêm các chức năng bảng tính do người dùng mới xác định (UDFS) và phản ứng với các sự kiện Excel.Tất cả mọi thứ bạn đã làm trước đây trong Excel bằng VBA đều có thể đạt được với Python.Sử dụng Python làm thay thế VBA có nhiều lợi ích và thường nhanh hơn VBA!! VBA is commonly used to automate Excel with macros, add new user defined worksheet functions (UDFs) and react to Excel events. Everything you would previously have done in Excel using VBA can be achieved with Python. Using Python as a VBA replacement has many benefits and is usually faster than VBA!