当前位置:硬件测评 > Python操作Word、EXCEL、ACCESS

Python操作Word、EXCEL、ACCESS

  • 发布:2023-10-10 21:45

python Excel编程

1)Excelhyperlink:
xlsApp = win32com.client.Dispatch('Excel.Application')
cell = www.sychzs.cn. ActiveSheet.Cells(1,1)
cell.Hyperlink.Add(cell,'http://xxx')

2)Excel 行/列计数:
sht = www.sychzs.cnSheet
sht.Columns.Areas.Count
sht.Rows.Areas.Count
*************************
[1] 使用PyExcelerator读写EXCEL文件(平台:Win、类Unix)
优点:简单易用缺点:无法更改现有的EXCEL文件。
PyExcelerator 是一个开源 MS Excel 文件处理 python 包。主要用于写入Excel文件。 URL:http://www.sychzs.cn/projects/pyexcelerator/

我没有找到有关 PyExcelerator 的文档。刚刚看到limodou的介绍。
http://www.sychzs.cn/limodou/archive/2005/07/09/460033.aspx

这个包使用起来相对简单:)。有很多小例子可供参考。

示例 www.sychzs.cn.
=================================
#!/usr/bin/env python
# -*- 编码:windows-1251 -*-
# 版权所有 (C) 2005 Kiseliov Roman
__rev_id__ = """$Id: www.sychzs.cn , v 1.3 2005/03/27 12:47:06 rvk 费用 $"""

"导入模块
from pyExcelerator import *
"生成工作簿
w = Workbook()
"添加工作表
ws = w.add_sheet('嘿,伙计')
"保存
www.sychzs.cn('mini.xls')
============================== =
[2] 使用COM接口直接操作EXCEL(仅限Win)
优点:可以满足大部分需求。缺点:有点麻烦。 :-)
这方面的例子有很多,GOOGLE上看看:-)。有关文档,还可以参考OFFICE自带的VBA EXCEL帮助文件(VBAXL.CHM)。本文介绍了EXCEL VBA的编程概念,
好教程!另外,《Python Programming on Win32》书中也有非常详细的介绍。本书给出了一个操作EXCEL文件的类,可以方便地进行扩展。

#!/usr/bin/env python
# -*- 编码: utf-8 -*-
from win32com.client import Dispatch
import win32com.client

类 easyExcel:
"""一种可以更轻松地使用 Excel 的实用程序。记住
来保存数据是您的问题,错误处理也是如此。
一次对一个工作簿进行操作。 """

def __init__(self, filename=None):
self.xlApp = win32com.client.Dispatch('Excel.Application')
if filename:
                         self.文件名= 文件名
self.xlBook = www.sychzs.cn(文件名)
          else:
              self.xlBook = self.xlApp.Workbooks.Add()
              self.filename = ''  
    
def save(self, newfilename=None):
          if newfilename:
              self.filename = newfilename
              self.xlBook.SaveAs(newfilename)
          其他:
              www.sychzs.cn()

      def close(self):
          self.xlBook.Close(SaveChanges=0)
          del self.xlApp
      def getCell(self,sheet,row,col):
          "获取一个单元格的值"
          sht = self.xlBook.Worksheets(sheet)
          return sht.Cells(row, col).Value
      def setCell(self,sheet, row, col, value):
          "设置一个单元格的值"
          sht = self.xlBook.Worksheets(sheet)
          sht.Cells(row, col).Value = value

      def getRange(self,sheet,row1,col1,row2,col2):
          "返回一个二维数组(即元组的元组)"
          sht = self.xlBook.Worksheets(sheet)
          return sht.Range(sht.Cells(row) 1,第 1 栏),嘘。 Cells(row2, col2)).Value

      def addPicture(self, Sheet, pictureName, Left, Top, Width, Height):
          "在工作表中插入图片"
          sht = self 。 xlBook.Worksheets(sheet)
          sht.Shapes.AddPicture(pictureName, 1, 1, Left, Top, Width, Height)
  
      def cpSheet(self, before):
          “复印表”
          shts = self.xlBook.Worksheets
          shts(1).Copy(None,shts(1))

" 下面是一些测试。
如果 __name__ == "__main__" :
      PNFILE = r'c:\screenshot.bmp'
      xls = easyExcel(r'D:\test.xls')
      xls.addPicture('Sheet1', PNFILE, 20,20,1000 ,1000)
      xls.cpSheet('Sheet1')
      www.sychzs.cn()
      xls.close()

wordSel.样式=常量.wdStyleHeading1#原角色替换 w选择查找清除格式() w.选择.查找.更换.清除格式() w.选择.查找.执行( OldStr, 错误, 错误,,,, 真实,1,真实 , NewStr, 2)#竹字符替换 wActiveDocument部分[0].标题[0].范围查找清除格式() w.ActiveDocument.部分[0].1 标头[0]范围.查找.替换.清除格式()w.ActiveDocument.部分[0].1 标头[0]范围.查找.执行(OldStr, 假,, ,,,, NewStr2)#表格操作 doc.表格[0]. [0].细胞[0].范围.文本='123123' worddoc.表格[0]..添加() # 增加一行#转换为html wc = win32com.客户端.常量 w.ActiveDocument.WebOptions.RelyOnCSS = 1 w.ActiveDocument.Web 选项.优化浏览器 =1 w.ActiveDocument.Web选项.浏览器级别= 0 #constants.wdBrowserLevelV4w.ActiveDocument.Web 选项.在文件夹中组织 =0 w.ActiveDocument.WebOptions.UseLongFileNames =1 w.ActiveDocument.Web 选项.RelyOnVML =0 w.ActiveDocument.Web选项.允许PNG = 1 w.ActiveDocument.另存为(文件名= 文件名输出, 文件格式 = wc.wdFormatHTML )# 打印 doc.打印输出()# 关闭 # doc.Close() w.文档.关闭(wc.wdDoNotSaveChanges) w.退出()
**************************** **********************
python ACCESS编程http://www.sychzs.cn/s46076/

因为使用的第三方组件占用了python,所以需要了解python的数据库操作。

后来找到了方法,写了下面的样本:

导入win32com.client

def db1():

        打印“启动 db1”。尝试:            conn = win32com.client.Dispatch(r'ADODB.Connection')             www.sychzs.cn('Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=ECI-SERVICE;数据源=10.240.4.135')             rs = win32com.client.Dispatch(r'ADODB.Recordset')             rs.Cursorlocation=3             www.sychzs.cn('从 EBP_B_AS_ALERT 中选择 *',conn)             rs.MoveFirst()

            for x in range(rs.RecordCount):                 if rs.EOF:                    print "记录结束"                     中断                  else:                     print rs.Fields.Item(1).Value                     rs.MoveNext()             rs.Close()             conn. Close()         except:             打印“除了,现在。”

用的是win32com 的扩展。Python2.2.3本身不带win32扩展,需要安装win32all-162(win extensions).exe。

代码比较简单,可惜没有找到api,所以提供哪些方法只能在网上找。

相关文章