/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

Lập Trình Python Cho Excel/Python For Excel #004 - Ẩn/Hiện Thêm/Xóa Dòng Cột & Định Dạng (Number, Text, datetime)

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!



No comments:

Post a Comment

/*header slide*/