NỘI DUNG:
1. Ẩn hiện dòng cột, wrap text, merge
2. Định dạng number, text, datetime
THỰC HIỆN
1. Ẩn hiện dòng cột, wrap text, merge
STT | Yêu Cầu Cấu Hình | Commands | Giải Thích |
---|---|---|---|
1 | Ẩn cột B đến cột D | sht["B:D"].api.EntireColumn.Hidden = True | Nếu muốn hiện thì gáng bằng False |
2 | Ẩn hàng 3 đến hàng 4 | sht["3:4"].api.EntireColumn.Hidden = True | Nếu muốn hiện thì gáng bằng False |
3 | Xóa dữ liệu | sht["A13:C18"].clear() | Xóa dữ liệu từ ô A13 đến ô C18 |
4 | Chèn/Insert | sht["C:C"].insert() | Chèn thêm 1 cột vào vị trí cột C |
sht["4:4"].insert() | Chèn 1 dòng vào dòng thứ 4 | ||
5 | Xóa/Delete | sht["C:D"].delete() | Xóa từ cột C đến cột D |
sht["4:6"].delete() | Xóa từ dòng thứ 4 đến dòng thứ 6 | ||
6 | Wrap text | sht["B13"].wrap_text = True | Chữ tự động xuống dòng nếu dữ liệu trong ô B13 quá dài |
7 | Merge KHÔNG MẤT dữ liệu | vl_B10 = sht["B10"].value | Gán giá trị của ô B10 vào biến vl_B10 |
vl_C10 = sht["C10"].value | Gán giá trị của ô C10 vào biến vl_C10/td> | ||
sht["B10"].value = f"{vl_B10} {vl_C10}" | nối chuỗi | ||
sht["C10"].clear() | Xóa dữ liệu của ô C10, nhằm mục đích khi merge không bị thông báo "chỉ giữ lại dữ liệu của ô đầu" | ||
sht["B10:C10"].merge() | Thực hiện merge |
2. Định dạng number, text, datetime
STT | Yêu Cầu Cấu Hình | Commands | Giải Thích |
---|---|---|---|
1 | Định dạng kế toán | sht["D3"].number_format = "[Red] #,###.000" | Ô D3 là số, cứ 3 số cách nhau dấu phẩy, mà ô là màu đỏ |
sht["D4"].number_format = "$ #,###.00" | Định dạng kế toán và thêm dấu $ ở đầu | ||
sht["D5"].number_format = "#,00 %" | Định dạng phần trăm | ||
2 | Nối chuỗi | sht["C3:C11"].number_format ='# "tuoi"' | Nếu dữ liệu trong ô là SỐ thì thêm vào chữ "tuoi" phía sau |
sht["B3:B11"].number_format ='@ "VCK"' | Nếu dữ liệu trong ô là CHỮ thì thêm vào chữ "VCK" phía sau | ||
3 | Shrink To Fit | sht["B3:B11"].api.ShrinkToFit = True | Nếu chữ dài/nhiều hơn độ rộng của ô thì tự động co nhỏ lại cho vừa 1 dòng |
4 | Gán công thức | sht["E11"].value = "=now()" | Gán ô E11 có công thức là hàm now() |
5 | Định dạng | sht["E11"].number_format= "dd-mm-yyyy" | Định dạng ngày-tháng-năm |
sht["E11"].number_format= "dd-mm-yyyy hh:mm AM/PM" | Định dạng ngày-tháng-năm giờ phút theo múi 12 giờ | ||
sht["E11"].number_format= "hh:mm AM/PM" | Giờ phút múi giờ là 12 |
Ví dụ: Covert các text trong list dạng ngày-tháng-năm, gán vào cột D, bắt đầu từ ô D3, dữ liệu cột D tự động co lại cho vừa kích thước hiện tại của ô.
Code:
# === convert text to datetime
import xlwings as xw
from datetime import datetime
wb = xw.Book(r"C:\tmp\BangDuLieu_ngaunhien.xlsx")
sht = wb.sheets.active
list_date = ["12/12/2021", "15/08/2021","8/5/2021","9/12/2021","11/1/2021"]
list_convert = []
for i in range(0,len(list_date)):
date_i = datetime.strptime(list_date[i], "%d/%m/%Y")
list_convert.append(date_i)
sht["D3"].options(transpose = True).value = list_convert
sht["D:D"].api.ShrinkToFit = True
Xong!