2016 - 2024

感恩一路有你

Python创建 XLS 文件的类封装

浏览量:3525 时间:2024-07-29 20:29:26 作者:采采

在处理 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 文件的操作,提高开发效率。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。