penpyxl basic function demo code
Openpyxl basic function demo code
demo code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
summary
description
- openpyxl basic功能练习
- https://openpyxl.readthedocs.io/en/default/usage.html
:REQUIRES:
:TODO:
:AUTHOR: Pengtao.Fan
:ORGANIZATION:
:CONTACT: fanpengtao@gmail.com
:SINCE: Sun Aug 7 21:21:38 2016
:VERSION: 0.1
"""
#===============================================================================
# PROGRAM METADATA
#===============================================================================
__author__ = ''
__contact__ = ''
__copyright__ = ''
__license__ = ''
__date__ = 'Sun Aug 7 21:21:38 2016'
__version__ = '0.1'
#===============================================================================
# IMPORT STATEMENTS
#===============================================================================
#from visual import * # IMPORTS NumPy.*, SciPy.*, and Visual objects (sphere, box, etc.)
#import matplotlib.pyplot as plt # plt.plot(x,y) plt.show()
#from pylab import * # IMPORTS NumPy.*, SciPy.*, and matplotlib.*
#import os # os.walk(basedir) FOR GETTING DIR STRUCTURE
#import pickle # pickle.load(fromfile) pickle.dump(data, tofile)
#from tkFileDialog import askopenfilename, askopenfile
#from collections import namedtuple
#from ctypes import *
#import glob
#import random
#import cv2
from openpyxl import Workbook
from openpyxl.compat import range
from openpyxl.cell import get_column_letter
from openpyxl import load_workbook
from openpyxl.drawing.image import Image
from openpyxl.utils import FORMULAE #to check the name of a formula
import pprint
import datetime
#===============================================================================
# METHODS
#===============================================================================
class OpenpyxlStudy():
def __init_(self):
pass
def getxl(self):
wb = load_workbook(filename = 'test.xlsx')
pprint.pprint(wb.get_sheet_names())
sheet_ranges = wb['ov']
#f14 = sheet_ranges['F14'] #<Cell ov.F14>
f14 = sheet_ranges['F14'].value #DEE
#f14 = sheet_ranges.cell('F14').value
#f14 = sheet_ranges.cell(raw = 15, column = 14)
print(f14)
def setxl(self):
wb = Workbook()
dest_filename = 'empty_book.xlsx'
ws1 = wb.active #设置下次打开时的活动窗格
ws1.title = "range names"
for row in range(1, 40):
ws1.append(range(600))
ws2 = wb.create_sheet(title="Pi")
ws2['F5'] = 3.14
ws3 = wb.create_sheet(title="Data")
for row in range(10, 20):
for col in range(27, 54):
#这种cell赋值方法比较新
#注意get_column_letter
_ = ws3.cell(column=col, row=row, value="%s" % get_column_letter(col))
print(ws3['AA10'].value)
wb.save(filename = dest_filename)
def Fommats(self):
'''Using number formats'''
#dest_filename = 'empty_book.xlsx'
#wb = load_workbook(filename = dest_filename)
wb = Workbook(guess_types=True)
ws = wb.active
# set data using a Python datetime
ws['A1'] = datetime.datetime.now()
print(ws['A1'].number_format)
# set percentage using a string followed by the percent sign
ws['B1'] = '3.14%'
print(ws['B1'].value)
print(ws['B1'].number_format)
wb.save("fommats.xlsx")
def Formulae(self):
'''excel自带数学公式功能'''
wb = Workbook()
ws = wb.active
# 添加excel自带的sum公式
ws['A1'] = '=SUM(1, 2)'
wb.save('formula.xlsx')
if "HEX2DEC" in FORMULAE:
print("HEX2DEC in FORMULAE")
else:
print("HEX2DEC not in FORMULAE")
def MergeCells(self):
'''合并单元格'''
'''Merge / Unmerge cells'''
wb = Workbook()
ws = wb.active #设置下次打开时的活动窗格
ws = wb.create_sheet(title="MergeCells")
ws.merge_cells('A1:B2')
#or
#ws.merge_cells(start_row=0,start_column=0,end_row=8,end_column=8)
ws['A1'] = 'You should see three logos below'
# create an image
#img = Image('image.jpg')
# add to worksheet and anchor next to cells
#ws.add_image(img, 'A1')
wb.save('MergeCells.xlsx')
pass
def UnMergeCells(self):
'''拆分单元格'''
'''Merge / Unmerge cells'''
pass
def InsertImage(self):
'''inset image at A1 cell'''
wb = Workbook()
ws = wb.active #设置下次打开时的活动窗格
ws.title = 'InsertImageSheet'
ws.merge_cells('A1:D7')
ws['A1'] = 'You should see three logos below'
# create an image
img = Image('image.jpg')
# add to worksheet and anchor next to cells
ws.add_image(img, 'A1')
#==============================================================================
# '''虽然A1占用了A3 格子,但不能如下写。'''
# ws2 = wb.create_sheet('SecondImageSheet')
# ws2.merge_cells('A1:D7')
# ws2['A3'] = 'You should see three logos below'
#
# # create an image
# img = Image('image.jpg')
# # add to worksheet and anchor next to cells
# ws.add_image(img, 'A3')
#==============================================================================
wb.save('InsertImage.xlsx')
def Foldcolumns(self):
'''隐藏某些列'''
wb = Workbook(True)
ws = wb.create_sheet()
ws.column_dimensions.group('A','D', hidden=True)
wb.save('Foldcolumns.xlsx')
#===============================================================================
# MAIN METHOD AND TESTING AREA
#===============================================================================
def main():
"""Description of main()"""
test = OpenpyxlStudy()
#test.getxl()
#test.setxl()
#test.Fommats()
#test.Formulae()
#test.MergeCells()
#test.InsertImage()
test.Foldcolumns()
if __name__ == '__main__':
main()
penpyxl basic function demo code的更多相关文章
- RAD Studio Demo Code和几个国外FMX网站 good
FireMonkey X – Amazing overview of FireMonkey FMX Feeds – All your FireMonkey news in one place FMX ...
- ps2keyboard demo code for 8052
#pragma code symbols debug objectextend #include <reg51.h> /* special function register declar ...
- c++ demo code
/* //多继承 #include <iostream> using namespace std; class Sofa { public: Sofa(); ~Sofa(); void s ...
- ( ! ) Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in D:\demo\code\yolo\index\index.php on li
sql语句为:$sql="select count(*) from com where a_id=$v['id']"; 出现以下错误: 原因: 变量没有用花括号引起来 改为: $ ...
- npm install 安装报错:npm ERR! EPERM npm ERR! -4048 npm ERR! Error: EPERM: operation not permitted, unlink 'D:\test\demo\code\materialT\node_modules\.staging'
更新项目依赖包,删除掉package-lock.json.node_modules,运行npm install,报如上错误信息,查询资料说是没有权限,本人用管理员身份打开powershell,运行np ...
- swagger demo code
//Application 开启注解 @EnableSwagger2public class Application { public static void main(String[] args) ...
- 《JavaScript高级程序设计 第3版》-学习笔记-3
P84-P137页, 这一章看的真久,这个月事太多了.有些内容在代码注释里没提出来了 1.JS强大的数组类型,元素类型任意,提供了非常多的操作数组的方法和属性 /* 数组类型 */ //stack v ...
- Delphi xe7 FireMonkey / Mobile (Android, iOS)生成 QR Code完整实例
这个实例在windows.OS X.IOS和Android等平台运行正常.本文参考这个网站提供的方法:http://zarko-gajic.iz.hr/firemonkey-mobile-androi ...
- [Quote]Creating basic Excel workbook with Open XML
Creating basic Excel workbook with Open XML [Quote from]http://www.codeproject.com/Articles/371203/C ...
随机推荐
- sublime text3 常用插件安装
1.Package Control 按Ctrl+~调出console(或者view>show console) 粘贴以下代码到底部命令行并回车: import urllib.request,os ...
- Intent
1.http://blog.csdn.net/daogepiqian/article/details/50606474 2.http://blog.csdn.net/wulianghuan/artic ...
- vim /vi中对字符串的查找并替换
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian ...
- 把包发布到npm官网
一.包 包就是多模块的集合,CommonJS的包规范给程序员提供了组织模块的标准,减少沟通成本. 规范: 所有的模块放在demo文件夹下(包名)的lib文件夹里面 在lib文件夹的同级目录下新建ind ...
- <c:if test="value ne, eq, lt, gt,...."> 用法
类别 运算符 算术运算符 + . - . * . / (或 div )和 % (或 mod ) 关系运算符 == (或 eq ). != (或 ne ). < (或 lt ). > (或 ...
- Expression Blend 4 学习笔记
Animation Storyboard(情节提要)在对象和时间线面板中建立和命名,定位到对象(object),通过拖动play head(播放头,时间线中垂直的黄色指示线)定位到特定的时间点,点击“ ...
- EChart数据的异步加载和更新
ECharts是国内开发一款图标插件,在网页中我们经常要用到图标显示,直接引用十分方便. 直接到ECharts主页调用插件 <!DOCTYPE html> <html style=& ...
- gulp
npm install -g gulp // 全局安装gulp 是为了执行 gulp 任务npm install gulp --save-dev // 本地安装gulp 是为了调用 gulp 插件 - ...
- ABP中单元测试的技巧:Mock和数据驱动
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:虽然ABP为大家提供了测试的脚手架了,不过有些小技巧还是需要自己探索的. ASP.NE ...
- B/S系统常见缺陷整理和解决方案
最近部门整理了今年所有项目测试团队提出的BUG,筛选了几十个作为常规通用的缺陷,我根据这些缺陷内容,去掉和业务相关的知识,整理出了一份缺陷描述和解决方案. 其实WEB系统中常规的缺陷分类后也就那么多, ...