python操作WPS中Excel的类

本文介绍了如何使用Python的PyExcel库来读取、操作和管理Excel文件,包括创建工作簿、工作表,处理单元格数据,以及保存和关闭文件等关键功能。适合初学者和数据处理人员快速上手Excel数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习转载

https://www.cnblogs.com/mcgill0217/p/10340013.html

# -*- coding =utf-8 -*-
# @Time : 2021/2/23 16:58
# @Author :Mr
# @File :ReadEt.py
# @Software :PyCharm
import os
import win32com.client
import shutil
import csv

# 获取“我的文档”的路径
import ctypes
from ctypes.wintypes import MAX_PATH

# 读取excel的元组数据转成list
def tolist(data):
    data = [list(i) for i in data]
    return data

def buf_value():
    dll = ctypes.windll.shell32
    buf = ctypes.create_unicode_buffer(MAX_PATH + 1)
    if dll.SHGetSpecialFolderPathW(None, buf, 0x0005, False):
        path = buf.value
    else:
        print("Failure!")
    return path


class ReadEt:
    """处理 Excel 的类"""

    __file_name = ''  # 定义 文件名
    __excel = None  # 定义 Excel
    __work_book = None  # 定义 工作表
    __sheet = None
    __exists = False  # 定义 是否存在

    def __init__(self):
        """PyExcel 对象 初始化"""
        self.__work_book = None
        self.__sheet = None
        self.__file_name = ''
        # 打开et
        self.__excel = win32com.client.Dispatch('ket.Application')
        self.__excel.Visible = False  # 确定ET是否可见
        # self.__newfile = os.path.join(buf_value(), "模板.csv")
        # # 打开工作薄
        # self.wb = self.et.Workbooks.Open(file_name)
        # # 按表名打开工作表
        # self.sht = self.wb.Worksheets(sheet_name)
        #

    def open(self, file_name=''):
        """
                打开 Excel文件\n\r
                file_name 为绝对路径,否则出错。
        """
        if not os.path.exists(os.path.dirname(file_name)):
            os.makedirs(os.path.dirname(file_name))
        if file_name.strip() == '':
            # print(1)
            self.__work_book = self.__excel.Workbooks.Add()
        elif os.path.dirname(file_name) and not os.path.exists(file_name):
            # print(2)
            with open('模板.csv', 'w') as f:
                f.close()
            # shutil.move('模板.csv', '模板.xls')
            shutil.move('模板.csv', file_name)
            self.__work_book = self.__excel.Workbooks.Open(file_name)
        else:
            # print(3)
            self.__work_book = self.__excel.Workbooks.Open(file_name)
        return self.__work_book

    def sheet(self, sheet_name='', sheet_index=1):
        if sheet_name:
            self.__sheet = self.__work_book.Sheets(sheet_name)
        else:
            self.__sheet = self.__work_book.Sheets(sheet_index)
        return self.__sheet

    def reset(self):
        """复位"""
        self.__work_book = None
        self.__file_name = ''
        self.__excel = None
        self.__exists = False

    def save(self)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值