Python数据写入Excel:自定义单元格格式和样式,打造专业报告
发布时间: 2024-06-23 23:54:44 阅读量: 115 订阅数: 42
![Python数据写入Excel:自定义单元格格式和样式,打造专业报告](http://www.geezn.com/wp-content/uploads/2014/04/sjty-qjys1.png)
# 1. Python数据写入Excel的基础**
在Python中,使用`openpyxl`库可以轻松地将数据写入Excel文件。以下步骤介绍了基本流程:
1. **导入库:**`import openpyxl`
2. **创建工作簿:**`wb = openpyxl.Workbook()`
3. **创建工作表:**`ws = wb.active`
4. **写入数据:**`ws.cell(row, column).value = value`
5. **保存工作簿:**`wb.save('filename.xlsx')`
# 2. 自定义单元格格式
在前面的章节中,我们学习了如何将数据写入Excel。本章节将重点介绍如何自定义单元格格式,以增强工作表的可读性和可视化效果。
### 2.1 数值格式
数值格式控制单元格中数字的显示方式。我们可以设置小数位数、添加单位和货币符号等。
#### 2.1.1 设置小数位数
使用 `set_number_format()` 方法设置小数位数。例如,以下代码将单元格 A1 中的数字格式化为两位小数:
```python
import openpyxl
# 创建工作簿和工作表
wb = openpyxl.Workbook()
ws = wb.active
# 设置单元格 A1 的小数位数
ws['A1'].number_format = '0.00'
```
#### 2.1.2 添加单位和货币符号
使用 `set_text()` 方法添加单位和货币符号。例如,以下代码将单元格 B1 中的数字格式化为美元货币:
```python
# 设置单元格 B1 的货币格式
ws['B1'].number_format = '$#,##0.00'
```
### 2.2 日期和时间格式
日期和时间格式控制单元格中日期和时间值的显示方式。我们可以设置日期和时间格式,也可以使用自定义格式。
#### 2.2.1 设置日期和时间格式
使用 `set_date_format()` 方法设置日期和时间格式。例如,以下代码将单元格 C1 中的日期格式化为 "yyyy-mm-dd":
```python
# 设置单元格 C1 的日期格式
ws['C1'].number_format = 'yyyy-mm-dd'
```
#### 2.2.2 使用自定义日期和时间格式
使用 `add_date_format()` 方法添加自定义日期和时间格式。例如,以下代码将单元格 D1 中的日期和时间格式化为 "dddd, mmmm dd, yyyy hh:mm AM/PM":
```python
# 添加自定义日期和时间格式
wb.add_date_format('MyCustomFormat', 'dddd, mmmm dd, yyyy hh:mm AM/PM')
# 设置单元格 D1 的自定义日期和时间格式
ws['D1'].number_format = 'MyCustomFormat'
```
### 2.3 文本格式
文本格式控制单元格中文本的显示方式。我们可以设置字体、字号、对齐方式等。
#### 2.3.1 设置字体和字号
使用 `set_font()` 方法设置字体和字号。例如,以下代码将单元格 E1 中的字体设置为 Arial,字号为 12:
```python
# 设置单元格 E1 的字体和字号
ws['E1'].font = openpyxl.styles.Font(name='Arial', size=12)
```
#### 2.3.2 设置对齐方式
使用 `set_alignment()` 方法设置对齐方式。例如,以下代码将单元格 F1 中的文本居中对齐:
```python
# 设置单元格 F1 的对齐方式
ws['F1'].alignment = openpyxl.styles.Alignment(horizontal='center')
```
# 3.1 边框和填充
#### 3.1.1 设置单元格边框
单元格边框可以用来突出显示单元格或创建表格。要设置单元格边框,可以使用 `border` 方法。该方法接受一个参数,该参数是一个包含边框样式和颜色的字典。
```python
import openpyxl
# 创建一个工作簿
wb = openpyxl.Workbook()
# 获取活动工作表
ws = wb.active
# 设置 A1 单元格的边框
ws['A1'].border = openpyxl.styles.Border(left=openpyxl.styles.Side(style='thin', color='000000'),
right=openpyxl.styles.Side(style='thin', color='000000'),
top=openpyxl.styles.Side(style='thin', color='000000'),
bottom=openpyxl.styles.Side(style='thin', color='000000'))
```
**参数说明:**
* `left`:左侧边框样式和颜色
* `right`:右侧边框样式和颜色
* `top`:顶部边框样式和颜色
* `bottom`:底部边框样式和颜色
**代码逻辑分析:**
1. 创建一个工作簿并获取活动工作表。
2. 使用 `border` 方法设置 A1 单元格的边框样式和颜色。
3. `openpyxl.styles.Side` 类用于设置边框样式和颜色。
4. `style` 参数指定边框样式,例如 `thin` 表示细线边框。
5. `color` 参数指定边框颜色,例如 `0000
0
0