Python创建 XLS 文件的类封装
在处理 Excel 文件时,我们经常需要创建、编辑和保存 XLS 文件。为了简化这个过程,我们可以将常用的操作封装成一个类,方便复用和扩展。下面是一个基于 Python 的 XLS 文件操作类,包括以下功能:
1. 创建 XLS 文件
通过 `__init__` 方法初始化一个 XLS 文件对象,并创建 Workbook 对象。
2. 添加工作表
使用 `add_sheet` 方法可以向 XLS 文件中添加新的工作表,并返回该工作表对象。
3. 向工作表写入数据
`write_rows` 方法可以将一维列表数据写入工作表的某一行,`write_cols` 方法可以将一维列表数据写入工作表的某一列。
`write_merge` 方法可以将数据写入合并单元格。
4. 保存 XLS 文件
通过 `save_file` 方法可以将创建和编辑好的 XLS 文件保存到磁盘。
下面是完整的代码实现:
```python
import xlrd, xlwt, xlsxwriter
from import copy
from datetime import date, datetime
import sys
reload(sys)
('utf-8')
class WtXls(object):
"""创建excel"""
def __init__(self, file_name):
super(WtXls, self).__init__()
_name file_name
()
def add_sheet(self, sheet_name):
新增一个sheet,避免重复操作单元格报错:cell_overwrite_okTrue
_sheet(sheet_name, cell_overwrite_okTrue)
return
def write_rows(self, sheet, nrow, mcols, values):
从第mcols列开始填充第nrow行数据
for mcol in range(0, len(values)):
sheet.write(nrow, mcol mcols, values[mcol])
return True
def write_cols(self, sheet, nrows, mcol, values):
从第nrows行开始填充第mcol列数据
for nrow in range(0, len(values)):
sheet.write(nrow nrows, mcol, values[nrow])
return True
def write_merge(self, sheet, nrows_mcols):
填充合并单元格
for nrow_mcol in nrows_mcols:
sheet.write_merge(nrow_mcol[0], nrow_mcol[1], nrow_mcol[2], nrow_mcol[3], nrow_mcol[4])
return True
def save_file(self):
保存excel
(_name)
return True
```
使用这个 `WtXls` 类,我们可以很方便地创建、编辑和保存 XLS 文件。例如:
```python
xls WtXls('output.xls')
sheet _sheet('Sheet1')
xls.write_rows(sheet, 0, 0, ['Name', 'Age', 'Gender'])
xls.write_cols(sheet, 1, 0, ['Alice', 'Bob', 'Charlie'])
xls.write_merge(sheet, [(0, 0, 0, 2, 'Summary')])
_file()
```
这样就创建了一个包含一个工作表的 XLS 文件,第一行为标题,后面三行为数据,第一列为姓名,第二列为年龄,第三列为性别。
通过这种封装,我们可以更方便地管理和扩展 XLS 文件的操作,提高开发效率。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。