Open Source Python API dla Arkuszy Google
Zapisuj pliki arkuszy kalkulacyjnych Excel XML za pomocą biblioteki Open Source Python.
XlsxWriter to open source'owe API Pythona do zapisywania plików w formacie pliku Excel 2007+ XLSX. Korzystając z interfejsu API, możesz pisać tekst, formuły, liczby i hiperłącza w wielu arkuszach roboczych. Ponadto interfejs API umożliwia wstawianie wykresów, komórek łączenia, formatowania komórek, stosowania filtrów, danych walidacyjnych, wstawiania obrazów PNG/JPEG/BMP/WMF/EMF, korzystania z bogatych ciągów wieloformatowych i nie tylko.
XlsxWriter twierdzi, że zapewnia więcej funkcji programu Excel niż którykolwiek z alternatywnych modułów Pythona. API zapewnia wysoki wskaźnik dokładności podczas tworzenia nowych plików Excela, w większości przypadków pliki utworzone za pomocą XlsxWriter są w 100% równoważne z plikami utworzonymi przez Excel.
Pierwsze kroki z XlsxWriter
Aby płynnie uruchomić XlsxWriter, musisz mieć zainstalowany Python 2.7 lub nowszy. Zalecany sposób instalacji przez PIP. Użyj następującego polecenia.
Zainstaluj XlsxWriter za pomocą polecenia PIP
pip install XlsxWriter
Utwórz arkusz kalkulacyjny za pomocą biblioteki Pythona
Interfejs API XlsxWriter umożliwia tworzenie arkuszy kalkulacyjnych Microsoft za pomocą Pythona i modułu XlsxWriter. Umożliwia programistom tworzenie pustego arkusza kalkulacyjnego przy użyciu metody XlsxWriter.Workbook(). Arkusze można dodawać do skoroszytu za pomocą metody workbook.add_worksheet() . Po dodaniu arkuszy roboczych interfejs API umożliwia szeroką gamę bezpłatnych funkcji do pracy z arkuszami Excela za pomocą Pythona.
Tworzenie i modyfikowanie arkusza kalkulacyjnego za pośrednictwem biblioteki 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()
Dodaj wykresy w XLSX za pomocą Pythona
Biblioteka arkuszy kalkulacyjnych Open Source XlsxWriter umożliwia programistom dodawanie wykresów w formacie pliku XLSX przy użyciu zaledwie kilku wierszy kodu. Po utworzeniu nowego arkusza w programie Excel możesz dodać wykres za pomocą metody workbook.add_chart(). Korzystając z interfejsu API języka Python, możesz bezpłatnie dodawać wykresy warstwowe, słupkowe, kolumnowe, liniowe, kołowe, pierścieniowe, punktowe, giełdowe i radarowe.
Dodaj grę Chart do arkusza kalkulacyjnego LS za pośrednictwem biblioteki 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',
})
Pracuj z formułami Excela za pomocą Pythona
Biblioteka XlsxWriter daje programistom możliwość programowego pisania formuł w formacie Microsoft Excel. Możesz po prostu dodać formułę do pliku za pomocą metody worksheet.write_forumula() . Program Excel przechowuje formuły w formacie wersji w języku angielskim, więc formuły muszą być w formacie języka angielskiego (USA).
Dodaj formułę Array za pośrednictwem biblioteki 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()