Skip to content

Commit 899be9f

Browse files
committed
Throw an exception if a error occurs in the following 12 functions:
- add_chart - add_picture - coordinates_to_cell_name - get_cell_value - get_rows - new_sheet - open_file - save_as - set_active_sheet - set_cell_value - set_row_height - set_sheet_row
1 parent 39c2d7b commit 899be9f

File tree

6 files changed

+422
-399
lines changed

6 files changed

+422
-399
lines changed

README.md

+96-103
Original file line numberDiff line numberDiff line change
@@ -36,22 +36,22 @@ Here is a minimal example usage that will create spreadsheet file.
3636
import excelize
3737

3838
f = excelize.new_file()
39-
# Create a new sheet.
40-
index, err = f.new_sheet("Sheet2")
41-
if err:
42-
print(err)
43-
# Set value of a cell.
44-
f.set_cell_value("Sheet2", "A2", "Hello world.")
45-
f.set_cell_value("Sheet1", "B2", 100)
46-
# Set active sheet of the workbook.
47-
f.set_active_sheet(index)
48-
# Save spreadsheet by the given path.
49-
err = f.save_as("Book1.xlsx")
50-
if err:
51-
print(err)
52-
err = f.close()
53-
if err:
54-
print(err)
39+
try:
40+
# Create a new sheet.
41+
index = f.new_sheet("Sheet2")
42+
# Set value of a cell.
43+
f.set_cell_value("Sheet2", "A2", "Hello world.")
44+
f.set_cell_value("Sheet1", "B2", 100)
45+
# Set active sheet of the workbook.
46+
f.set_active_sheet(index)
47+
# Save spreadsheet by the given path.
48+
f.save_as("Book1.xlsx")
49+
except RuntimeError as err:
50+
print(err)
51+
finally:
52+
err = f.close()
53+
if err:
54+
print(err)
5555
```
5656

5757
### Reading spreadsheet
@@ -61,27 +61,28 @@ The following constitutes the bare to read a spreadsheet document.
6161
```python
6262
import excelize
6363

64-
f, err = excelize.open_file("Book1.xlsx")
65-
if err:
64+
try:
65+
f = excelize.open_file("Book1.xlsx")
66+
except RuntimeError as err:
6667
print(err)
6768
exit()
68-
# Get value from cell by given worksheet name and cell reference.
69-
cell, err = f.get_cell_value("Sheet1", "B2")
70-
if err:
71-
print(err)
72-
print(cell)
73-
# Get all the rows in the Sheet1.
74-
rows, err = f.get_rows("Sheet1")
75-
if err:
76-
print(err)
77-
for row in rows:
78-
for cell in row:
79-
print(f"{cell}\t", end="")
80-
print()
81-
# Close the spreadsheet.
82-
err = f.close()
83-
if err:
84-
print(err)
69+
try:
70+
# Get value from cell by given worksheet name and cell reference.
71+
cell = f.get_cell_value("Sheet1", "B2")
72+
print(cell)
73+
# Get all the rows in the Sheet1.
74+
rows = f.get_rows("Sheet1")
75+
for row in rows:
76+
for cell in row:
77+
print(f"{cell}\t", end="")
78+
print()
79+
except RuntimeError as err:
80+
print(err)
81+
finally:
82+
# Close the spreadsheet.
83+
err = f.close()
84+
if err:
85+
print(err)
8586
```
8687

8788
### Add chart to spreadsheet file
@@ -100,85 +101,77 @@ data = [
100101
["Normal", 5, 2, 4],
101102
["Large", 6, 7, 8],
102103
]
103-
for idx, row in enumerate(data):
104-
cell, err = excelize.coordinates_to_cell_name(1, idx + 1, False)
105-
if err:
106-
print(err)
107-
err = f.set_sheet_row("Sheet1", cell, row)
104+
try:
105+
for idx, row in enumerate(data):
106+
cell = excelize.coordinates_to_cell_name(1, idx + 1, False)
107+
f.set_sheet_row("Sheet1", cell, row)
108+
chart = excelize.Chart(
109+
type=excelize.ChartType.Col3DClustered,
110+
series=[
111+
excelize.ChartSeries(
112+
name="Sheet1!$A$2",
113+
categories="Sheet1!$B$1:$D$1",
114+
values="Sheet1!$B$2:$D$2",
115+
),
116+
excelize.ChartSeries(
117+
name="Sheet1!$A$3",
118+
categories="Sheet1!$B$1:$D$1",
119+
values="Sheet1!$B$3:$D$3",
120+
),
121+
excelize.ChartSeries(
122+
name="Sheet1!$A$4",
123+
categories="Sheet1!$B$1:$D$1",
124+
values="Sheet1!$B$4:$D$4",
125+
),
126+
],
127+
title=[excelize.RichTextRun(text="Fruit 3D Clustered Column Chart")],
128+
)
129+
f.add_chart("Sheet1", "E1", chart)
130+
# Save spreadsheet by the given path.
131+
f.save_as("Book1.xlsx")
132+
except RuntimeError as err:
133+
print(err)
134+
finally:
135+
err = f.close()
108136
if err:
109137
print(err)
110-
111-
chart = excelize.Chart(
112-
type=excelize.ChartType.Col3DClustered,
113-
series=[
114-
excelize.ChartSeries(
115-
name="Sheet1!$A$2",
116-
categories="Sheet1!$B$1:$D$1",
117-
values="Sheet1!$B$2:$D$2",
118-
),
119-
excelize.ChartSeries(
120-
name="Sheet1!$A$3",
121-
categories="Sheet1!$B$1:$D$1",
122-
values="Sheet1!$B$3:$D$3",
123-
),
124-
excelize.ChartSeries(
125-
name="Sheet1!$A$4",
126-
categories="Sheet1!$B$1:$D$1",
127-
values="Sheet1!$B$4:$D$4",
128-
),
129-
],
130-
title=[excelize.RichTextRun(text="Fruit 3D Clustered Column Chart")],
131-
)
132-
err = f.add_chart("Sheet1", "E1", chart)
133-
if err:
134-
print(err)
135-
# Save spreadsheet by the given path.
136-
err = f.save_as("Book1.xlsx")
137-
if err:
138-
print(err)
139-
err = f.close()
140-
if err:
141-
print(err)
142138
```
143139

144140
### Add picture to spreadsheet file
145141

146142
```python
147143
import excelize
148144

149-
f, err = excelize.open_file("Book1.xlsx")
150-
if err:
145+
try:
146+
f = excelize.open_file("Book1.xlsx")
147+
except RuntimeError as err:
151148
print(err)
152149
exit()
153-
# Insert a picture.
154-
err = f.add_picture("Sheet1", "A2", "image.png", None)
155-
if err:
156-
print(err)
157-
# Insert a picture to worksheet with scaling.
158-
err = f.add_picture("Sheet1", "D2", "image.jpg", excelize.GraphicOptions(
159-
scale_x=0.5,
160-
scale_y=0.5,
161-
))
162-
if err:
163-
print(err)
164-
# Insert a picture offset in the cell with printing support.
165-
err = f.add_picture("Sheet1", "H2", "image.gif", excelize.GraphicOptions(
166-
print_object=True,
167-
lock_aspect_ratio=False,
168-
offset_x=15,
169-
offset_y=10,
170-
locked=False,
171-
))
172-
if err:
173-
print(err)
174-
# Save the spreadsheet with the origin path.
175-
err = f.save()
176-
if err:
177-
print(err)
178-
# Close the spreadsheet.
179-
err = f.close()
180-
if err:
181-
print(err)
150+
try:
151+
# Insert a picture.
152+
f.add_picture("Sheet1", "A2", "image.png", None)
153+
# Insert a picture to worksheet with scaling.
154+
f.add_picture("Sheet1", "D2", "image.jpg", excelize.GraphicOptions(
155+
scale_x=0.5,
156+
scale_y=0.5,
157+
))
158+
# Insert a picture offset in the cell with printing support.
159+
f.add_picture("Sheet1", "H2", "image.gif", excelize.GraphicOptions(
160+
print_object=True,
161+
lock_aspect_ratio=False,
162+
offset_x=15,
163+
offset_y=10,
164+
locked=False,
165+
))
166+
# Save the spreadsheet with the origin path.
167+
f.save()
168+
except RuntimeError as err:
169+
print(err)
170+
finally:
171+
# Close the spreadsheet.
172+
err = f.close()
173+
if err:
174+
print(err)
182175
```
183176

184177
## Contributing

0 commit comments

Comments
 (0)