2013-05-02 17 views

Odpowiedz

5

Istnieje istotny numer śledzenia problemu issue w openpyxl. Dodatkowo, zgodnie z kodem źródłowym show_gridlines jest to tylko właściwość klasy arkusza roboczego, która nie ma żadnego wpływu. Po prostu obejrzyj ten problem, aby uzyskać aktualizację.

Jako alternatywne rozwiązanie wypróbuj nowy i niesamowity moduł xlsxwriter. Ma zdolność do ukrywania linii siatki w arkuszu roboczym (patrz docs). Oto przykład:

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 wygląda dobrze. Dzięki za link. profilowałeś to? Jak to porównać do xlwt? Używałem openpyxl w przeszłości i było znacznie wolniej niż xlwt, jeśli piszesz dużo komórek. – sherve

+1

Yup, wygląda obiecująco! Niestety, nie sprofilowałem tego. FYI, oto [trochę informacji] (https://xlsxwriter.readthedocs.org/en/latest/working_with_memory.html) na temat wydajności. Ponadto, oczywiście, może działać tylko z 'xlsx'. – alecxe

+1

+1 dla XlsxWriter. @sherve: Zrobiłem kilka nieformalnych testów wydajności i dla mnie XlsxWriter jest porównywalny do xlwt i zauważalnie szybszy niż openpyxl. –

1

ta została ustalona w 2015 roku

tutaj jest zalecanym rozwiązaniem (z opisem issue)

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

Pamiętaj, że należy wpisać ws.sheet_view.showGridLines i nie ws.showGridLines .

Powiązane problemy