2015-11-12 8 views
7

में सेल चौड़ाई समायोजित करें मैं एक्सेल शीट में लिखने के लिए xlsxwriter का उपयोग कर रहा हूं। मुझे समस्या का सामना करना पड़ रहा है: जब पाठ अधिक होता है तो सेल आकार छुपा रहा है।एक्सेल

import xlsxwriter 

workbook = xlsxwriter.Workbook("file.xlsx") 
worksheet1 = workbook.add_worksheet() 

worksheet1.write(1, 1,"long text hidden test-1") 
worksheet1.write(2, 1,"long text hidden test-2") 
worksheet1.write(3, 1,"short-1") 
worksheet1.write(4, 1,"short-2") 
worksheet1.write(1, 2,"Hello world") 
worksheet1.write(2, 2,"Hello world") 
worksheet1.write(3, 2,"Hello world") 
worksheet1.write(4, 2,"Hello world") 

workbook.close() 

मैं क्या मिल रहा है

enter image description here

क्या मैं समायोजित चौड़ाई इस प्रकार

enter image description here

उत्तर

16

आप set_column इस्तेमाल कर सकते हैं के साथ की उम्मीद कर रहा हूँ :

set_column(first_col, last_col, width, cell_format, options) 

आप स्वचालित रूप से कॉलम के सभी AutoFit चाहते हैं, तो आप इस प्रकार win32com इंटरफ़ेस का उपयोग करने की आवश्यकता होगी:

worksheet1.set_column(1, 1, 25) 

यह इस प्रकार परिभाषित किया गया है

import win32com.client as win32 
excel = win32.gencache.EnsureDispatch('Excel.Application') 
wb = excel.Workbooks.Open(r'file.xlsx') 
ws = wb.Worksheets("Sheet1") 
ws.Columns.AutoFit() 
wb.Save() 
excel.Application.Quit() 

यह आपके वर्तमान xlsxwriter कोड का उपयोग कर फ़ाइल को बंद करने के बाद आसानी से किया जा सकता है। नोट, आपको अपनी फ़ाइल के लिए एक पूर्ण पथ प्रदान करने की आवश्यकता हो सकती है।

+0

अच्छा, 'win32com' समाधान सही है। धन्यवाद! –

5

दुर्भाग्यवश xlsxwriter ऑटोफिट विकल्प प्रदान नहीं करता है।

हालांकि आप प्रत्येक कॉलम के लिए सबसे बड़ी प्रविष्टि को ट्रैक कर सकते हैं और फिर सेट कॉलम कमांड के साथ कॉलम चौड़ाई को अंत में सेट कर सकते हैं।

set_column(first_col, last_col, width, cell_format, options) 

उदाहरण के लिए, आपको बी कॉलम की चौड़ाई को सबसे बड़ी स्ट्रिंग की लंबाई में सेट करना चाहिए।

width= len("long text hidden test-1") 
worksheet1.set_column(1, 1, width) 
+0

कॉलम में सबसे बड़ी इकाई कैसे प्राप्त करें किसी भी सुराग !! – Ravichandra

+1

कुछ डेटा सेट से अपना डेटा लाने और इसे एक्सेल शीट पर लिखने का मानना। आप अधिकतम स्ट्रिंग दसवीं के लिए डेटा सेट को पार्स कर सकते हैं और चौड़ाई सेट कर सकते हैं। एक और विशिष्ट उत्तर के लिए अधिक जानकारी की आवश्यकता है। –