python excel进程_pythonExcelProcess

#!/usr/bin/env python

# -*- coding: utf-8 -*-

from win32com.client import Dispatch

import win32com.client

import threading

import time

import multiprocessing

from retrying import retry

class easyExcel:

"""A utility to make it easier to get at Excel.

Remembering

to save the data is your problem, as is

error handling.

Operates on one workbook at a time."""

@retry(stop_max_delay=10000,wait_fixed=1000) #Workbooks.Open()

可能会抛出

VBA

异常,允许尝试多次打开,最大等待

10s

,每次固定等待

1s

def __init__(self, filename=None):

self.xlApp = win32com.client.Dispatch('Excel.Application')

#

打开

EXCEL

应用接口

if filename:

self.filename = filename

self.xlBook = self.xlApp.Workbooks.Open(filename)

#

打开一个

EXCEL

else:

self.xlBook = self.xlApp.Workbooks.Add()

#

新创建一个

EXCEL

self.filename = ''

def save(self, newfilename=None):

if newfilename:

self.filename = newfilename

self.xlBook.SaveAs(newfilename)

else:

self.xlBook.Save()

def close(self):

self.xlBook.Close(SaveChanges=0)

#SAVECHANGES=0

原表格不保存修改

del self.xlApp

#self.xlApp.Quit()

@retry(stop_max_delay=10000,wait_fixed=1000)

def nrows(self, sheet=1):#

获取表格的最大行数

sht = self.xlBook.Worksheets(sheet)

return sht.UsedRange.Rows.Count

@retry(stop_max_delay=10000,wait_fixed=1000)

def ncolumns(self, sheet=1):#

获取表格的最大列数

sht = self.xlBook.Worksheets(sheet)

return sht.UsedRange.Columns.Count

def getCell(self, sheet, row, col):

"Get value of one cell"

sht = self.xlBook.Worksheets(sheet)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值