2013-05-02 36 views
5

Tôi đang cố gắng xóa đường lưới khỏi bảng tính excel mà tôi đã tạo bằng openpyxl và không hoạt động. Tôi đang làm việc này:Xóa đường lưới khỏi excel bằng python (openpyxl)

wb = Workbook() 
ws = wb.get_active_sheet() 
ws.show_gridlines = False 
print ws.show_gridlines 
wb.save('file.xlsx') 

Mã đó in 'False', nhưng tệp đã lưu hiển thị đường lưới.

Trả lời

5

issue có liên quan trong số openpyxl trình theo dõi vấn đề. Thêm vào đó, theo mã nguồn show_gridlines chỉ là một thuộc tính lớp bảng tính mà không có ảnh hưởng gì cả. Chỉ cần xem sự cố để nhận bất kỳ cập nhật nào về vấn đề này.

Là giải pháp thay thế, hãy thử mô-đun xlsxwriter mới và tuyệt vời. Nó có khả năng ẩn các đường lưới trên một trang tính (xem docs). Dưới đây là một ví dụ:

from xlsxwriter.workbook import Workbook 

workbook = Workbook('hello_world.xlsx') 
worksheet = workbook.add_worksheet() 

worksheet.write('A1', 'Hello world') 
worksheet.hide_gridlines(2) 

workbook.close() 
+1

xlsxwriter có giao diện đẹp. Cảm ơn các liên kết. bạn có hồ sơ không? Làm thế nào để nó so sánh với xlwt? Tôi đã sử dụng openpyxl trong quá khứ và nó đã được cách chậm hơn xlwt nếu bạn đang viết rất nhiều tế bào. – sherve

+1

Yup, có vẻ đầy hứa hẹn! Thật không may, tôi đã không profiled nó. FYI, đây là [một số thông tin] (https://xlsxwriter.readthedocs.org/en/latest/working_with_memory.html) về chủ đề hiệu suất. Thêm vào đó, rõ ràng, nó chỉ có thể hoạt động với 'xlsx'. – alecxe

+1

+1 cho XlsxWriter. @sherve: Tôi đã thực hiện một số thử nghiệm hiệu suất không chính thức, và đối với tôi XlsxWriter có thể so sánh với xlwt và nhanh hơn đáng kể so với openpyxl. –

1

này đã được cố định trong năm 2015.

đây là giải pháp được đề xuất (từ mô tả về issue)

from openpyxl import Workbook 
wb = Workbook() 
ws = wb.active 
ws.sheet_view.showGridLines 
True 
ws.sheet_view.showGridLines = False 
wb.save("gridlines.xlsx") 

Ghi chú rằng bạn nên gõ ws.sheet_view.showGridLines và không ws.showGridLines .

Các vấn đề liên quan