API منبع باز Python برای Google Sheets
فایل های صفحه گسترده اکسل XML را از طریق کتابخانه Python منبع باز بنویسید.
XlsxWriter یک رابط برنامهنویسی برنامهنویسی پایتون منبع باز برای نوشتن فایلها در قالب فایل اکسل 2007+ XLSX است. با استفاده از API می توانید متن، فرمول ها، اعداد و لینک ها را در چندین کاربرگ بنویسید. علاوه بر این، API اجازه می دهد تا نمودارهای درج، سلول های ادغام، قالب بندی سلول ها، اعمال فیلترها، داده های اعتبار سنجی، درج تصاویر PNG/JPEG/BMP/WMF/EMF، استفاده از رشته های چند فرمتی غنی و موارد دیگر.
XlsxWriter ادعا می کند که ویژگی های اکسل بیشتری نسبت به هر یک از ماژول های جایگزین پایتون ارائه می دهد. API هنگام ایجاد فایلهای اکسل جدید، دقت بالایی را ارائه میکند، در بیشتر موارد فایلهای تولید شده با استفاده از XlsxWriter 100٪ معادل فایلهای تولید شده توسط اکسل هستند.
شروع کار با XlsxWriter
برای اجرای روان XlsxWriter باید پایتون 2.7 یا بالاتر را روی سیستم خود نصب کنید. روش توصیه شده برای نصب از طریق PIP. لطفا از دستور زیر استفاده کنید.
XlsxWriter را از طریق دستور PIP نصب کنید
pip install XlsxWriter
صفحه گسترده از طریق کتابخانه پایتون ایجاد کنید
XlsxWriter API اجازه ایجاد صفحات گسترده مایکروسافت را با استفاده از پایتون و ماژول XlsxWriter می دهد. این به برنامه نویسان نرم افزار اجازه می دهد تا با استفاده از روش XlsxWriter.Workbook () یک صفحه گسترده خالی ایجاد کنند. با استفاده از متد workbook.add_worksheet() می توانید کاربرگ ها را به کتاب کار خود اضافه کنید. پس از افزودن کاربرگها، API به طیف وسیعی از ویژگیهای رایگان اجازه میدهد تا با استفاده از پایتون با برگههای اکسل کار کنند.
ایجاد و تغییر صفحه گسترده از طریق کتابخانه Python<
import xlsxwriter
# Create an new Excel file and add a worksheet.
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
# Widen the first column to make the text clearer.
worksheet.set_column('A:A', 20)
# Add a bold format to use to highlight cells.
bold = workbook.add_format({'bold': True})
# Write some simple text.
worksheet.write('A1', 'Hello')
# Text with formatting.
worksheet.write('A2', 'World', bold)
# Write some numbers, with row/column notation.
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)
workbook.close()
با استفاده از پایتون نمودارها را در XLSX اضافه کنید
کتابخانه صفحه گسترده منبع باز XlsxWriter به توسعه دهندگان نرم افزار اجازه می دهد تا نمودارهایی را در قالب فایل XLSX با استفاده از چند خط کد اضافه کنند. پس از ایجاد کاربرگ جدید در اکسل، می توانید با استفاده از متد workbook.add_chart() یک نمودار اضافه کنید. با استفاده از API پایتون، می توانید نمودارهای منطقه، نمودار میله ای، نمودار ستونی، نمودار خطی، نمودار دایره ای، نمودار دونات، نمودار پراکنده، نمودار سهام و نمودار رادار را به صورت رایگان اضافه کنید.
اضافه کردن نمودار نواری به صفحه گسترده XLSX از طریق کتابخانه Python<
import xlsxwriter
workbook = xlsxwriter.Workbook('chart_bar.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': 1})
# Add the worksheet data that the charts will refer to.
headings = ['Number', 'Batch 1', 'Batch 2']
data = [
[2, 3, 4, 5, 6, 7],
[10, 40, 50, 20, 10, 50],
[30, 60, 70, 50, 40, 30],
]
worksheet.write_row('A1', headings, bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])
# Create a new bar chart.
chart1 = workbook.add_chart({'type': 'bar'})
# Configure the first series.
chart1.add_series({
'name': '=Sheet1!$B$1',
'categories': '=Sheet1!$A$2:$A$7',
'values': '=Sheet1!$B$2:$B$7',
})
با استفاده از پایتون با فرمول های اکسل کار کنید
کتابخانه XlsxWriter به توسعه دهندگان این امکان را می دهد که فرمول ها را در قالب فایل Microsoft Excel به صورت برنامه نویسی بنویسند. شما به سادگی می توانید با استفاده از متد ()worksheet.write_forumula یک فرمول به فایل خود اضافه کنید. اکسل فرمول ها را در قالب نسخه انگلیسی ایالات متحده ذخیره می کند، بنابراین فرمول ها باید در قالب انگلیسی ایالات متحده باشند.
افزودن فرمول آرایه از طریق کتابخانه Python<
import xlsxwriter
# Create a new workbook and add a worksheet
workbook = xlsxwriter.Workbook('array_formula.xlsx')
worksheet = workbook.add_worksheet()
# Write some test data.
worksheet.write('B1', 500)
worksheet.write('B2', 10)
worksheet.write('B5', 1)
worksheet.write('B6', 2)
worksheet.write('B7', 3)
worksheet.write('C1', 300)
worksheet.write('C2', 15)
worksheet.write('C5', 20234)
worksheet.write('C6', 21003)
worksheet.write('C7', 10000)
# Write an array formula that returns a single value
worksheet.write_formula('A1', '{=SUM(B1:C1*B2:C2)}')
# Same as above but more verbose.
worksheet.write_array_formula('A2:A2', '{=SUM(B1:C1*B2:C2)}')
# Write an array formula that returns a range of values
worksheet.write_array_formula('A5:A7', '{=TREND(C5:C7,B5:B7)}')
workbook.close()