#练习:
#封装一个ExcelUtil的模块(构造函数是excel的路径),里面提供封装的方法:
#1 获取某个sheet对象
#2 打印所有sheet名称
#3 给某个sheet的某个单元格写入内容
#4 从某个sheet的某个单元读出入内容
#5 保存对excel对象的修改
#6 读取某一行的内容
#7 读取某一列的内容 from openpyxl import Workbook
from openpyxl import load_workbook class ExcelUtil():
def __init__(self,path):
self.path=path
self.wb=load_workbook(path)
self.ws=self.wb.active #1 获取某个sheet对象
def get_Excel_sheet(self,sheet_name):
self.ws=self.wb[sheet_name] #2 打印所有sheet名称
def get_all_sheet(self):
return self.wb.sheetnames #3 给某个sheet的某个单元格写入内容
def write_sheet(self,row1,column1,value1):
self.ws.cell(row=row1,column=column1,value=value1) #4 从某个sheet的某个单元读出内容
def read_sheet(self,row1,column1):
return self.ws.cell(row=row1,column=column1).value #5 保存对excel对象的修改
def save_sheet(self):
self.wb.save(self.path) #6 读取某一行的内容
def read_row_sheet(self,row_no):
rows=[]
for row in self.ws.iter_rows():
rows.append(row)
row_content =[]
for cell in rows[row_no-1]:
row_content.append(cell.value)
return row_content #for cell in rows[row_no-1]:
#row_content.append(cell.value)
#return row_content #7 读取某一列的内容
def read_column_sheet(self,col_no):
cols=[]
for col in self.ws.iter_cols():
cols.append(col)
col_content =[]
for cell in cols[col_no-1]:
col_content.append(cell.value)
return col_content if __name__=="__main__":
Excel_obj=ExcelUtil("e:\\test4\\s2.xlsx") Excel_obj.get_Excel_sheet("wangjing") print Excel_obj.get_all_sheet() Excel_obj.write_sheet(2,3,"") print Excel_obj.read_sheet(2,3) Excel_obj.save_sheet() print Excel_obj.read_row_sheet(2) print Excel_obj.read_column_sheet(2) #练习:
from openpyxl import load_workbook
from openpyxl import Workbook
from openpyxl.worksheet.table import Table, TableStyleInfo wb = Workbook()
ws = wb.active data = [
['Apples', 10000, 5000, 8000, 6000],
['Pears', 2000, 3000, 4000, 5000],
['Bananas', 6000, 6000, 6500, 6000],
['Oranges', 500, 300, 200, 700],
] ws.append(["Fruit", "", "", "", ""])
for row in data:
ws.append(row) tab = Table(displayName="Table1", ref="A1:E5") style = TableStyleInfo(name="TableStyleMedium9", showFirstColumn=False,
showLastColumn=False, showRowStripes=False, showColumnStripes=True)
tab.tableStyleInfo = style
ws.add_table(tab) wb.save('e:\\test4\\s2.xlsx') #练习:自定义字体颜色
from openpyxl import Workbook
from openpyxl.styles import colors
from openpyxl.styles import Font wb = Workbook()
ws = wb.active a1 = ws['A1']
d4 = ws['D4']
ft = Font(color=colors.GREEN) # color="FFBB11",颜色编码也可以设定颜色
a1.font = ft
d4.font = ft a1.font = Font(color=colors.BLUE, italic=True)
a1.value = "abc" wb.save('e:\\test4\\s2.xlsx') #练习:设置某个单元格字体
from openpyxl import Workbook
from openpyxl.styles import colors
from openpyxl.styles import Font
from copy import copy wb = Workbook()
ws = wb.active a1 = ws['A1']
d4 = ws['D4']
a1.value = "abc" ft1 = Font(name=u'宋体', size=14)
ft2 = copy(ft1) #复制字体对象
ft2.name = "Tahoma" print ft1.name print ft2.name print ft2.size wb.save('e:\\test4\\s2.xlsx') #练习
from openpyxl import Workbook
from openpyxl.styles import Font
wb = Workbook()
ws = wb.active col = ws.column_dimensions['A']
col.font = Font(bold=True) #将A列设定为粗体
ws["A1"]=""
row = ws.row_dimensions[1]
row.font = Font(underline="single") #将第一行设定为下划线格式 # Save the file
wb.save('e:\\test4\\s2.xlsx') #练习:设置单元格背景色
from openpyxl import Workbook
from openpyxl.styles import Font
from openpyxl.styles import NamedStyle, Font, Border, Side,PatternFill wb = Workbook()
ws = wb.active highlight = NamedStyle(name="highlight")
highlight.font = Font(bold=True, size=20,color= "ff8888") #设置字体颜色
highlight.fill = PatternFill("solid", fgColor="eeE100") #设置背景色
bd = Side(style='thin', color="") #设置边框thin是细,thick是粗
highlight.border = Border(left=bd, top=bd, right=bd, bottom=bd) #设置边框 print dir(ws["A1"])
ws["A1"].style =highlight # Save the file
wb.save('e:\\test4\\s2.xlsx') #练习:设置单元格边框和字体
from openpyxl import Workbook
from openpyxl.styles import Font
from openpyxl.styles import NamedStyle, Font, Border, Side,PatternFill
from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font wb = Workbook()
ws = wb.active ft = Font(name=u'微软雅黑',
size=11,
bold=False,
italic=False,
vertAlign=None,
underline='none',
strike=False,
color='FF000000') fill = PatternFill(fill_type="solid",
start_color='FFEEFFFF',
end_color='FF001100') #边框可以选择的值为:'hair', 'medium', 'dashDot', 'dotted', 'mediumDashDot', 'dashed', 'mediumDashed', 'mediumDashDotDot', 'dashDotDot', 'slantDashDot', 'double', 'thick', 'thin']
#diagonal 表示对角线
bd = Border(left=Side(border_style="thin",
color='FF001000'),
right=Side(border_style="thin",
color='FF110000'),
top=Side(border_style="thin",
color='FF110000'),
bottom=Side(border_style="thin",
color='FF110000'),
diagonal=Side(border_style=None,
color='FF000000'),
diagonal_direction=0,
outline=Side(border_style=None,
color='FF000000'),
vertical=Side(border_style=None,
color='FF000000'),
horizontal=Side(border_style=None,
color='FF110000')
) alignment=Alignment(horizontal='general',
vertical='bottom',
text_rotation=0,
wrap_text=False,
shrink_to_fit=False,
indent=0) number_format = 'General' protection = Protection(locked=True,
hidden=False) ws["B5"].font = ft
ws["B5"].fill =fill
ws["B5"].border = bd
ws["B5"].alignment = alignment
ws["B5"].number_format = number_format ws["B5"].value ="glory road" # Save the file
wb.save('e:\\test4\\s2.xlsx')

【Python】Excel-4(样式设置)的更多相关文章

  1. Asp.Net中应用Aspose.Cells输出报表到Excel 及样式设置

    解决思路: 1.找个可用的Aspose.Cells(有钱还是买个正版吧,谁开发个东西也不容易): 2.在.Net方案中引用此Cells: 3.写个函数ToExcel(传递一个DataTable),可以 ...

  2. POI Excel导出样式设置

    HSSFSheet sheet = workbook.createSheet("sheetName");    //创建sheet sheet.setVerticallyCente ...

  3. Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式

    Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式 解决: xlwt 中设置单元格样式主要 ...

  4. python excel单元格及样式

    python excel单元格及样式: #!/usr/bin/env python # -*- coding: utf-8 -*-” #只对当前文件的中文编码有效 # Filename : Write ...

  5. asp.net将页面内容按需导入Excel,并设置excel样式,下载文件(解决打开格式与扩展名指定的格式不统一的问题)

    //请求一个excel类 Microsoft.Office.Interop.Excel.ApplicationClass excel = null; //创建 Workbook对象 Microsoft ...

  6. 封装对NPOIExcel的操作,方便的设置导出Excel的样式

    下载: http://pan.baidu.com/s/1boTpT5l 使用方法: 导入: 使用 ReadToDataTable方法 导出: NPOIExcel.ExcelManager manger ...

  7. 导出Excel之Epplus使用教程2(样式设置)

    导出Excel之Epplus使用教程1(基本介绍) 导出Excel之Epplus使用教程2(样式设置) 导出Excel之Epplus使用教程3(图表设置) 导出Excel之Epplus使用教程4(其他 ...

  8. DevExpress导出Excel样式设置

    /// <summary> /// 导出到Excel /// </summary> /// <param name="gridControl"> ...

  9. MyXls导出Excel的各种设置

    MyXls是一个操作Excel的开源类库,支持设置字体.列宽.行高(由BOSSMA实现).合并单元格.边框.背景颜色.数据类型.自动换行.对齐方式等,通过众多项目的使用表现,证明MyXls对于创建简单 ...

  10. POI导出复杂的excel;excel公共样式类;excel拼接定制类;数据科学计数法转为普通值

    一.excel公共样式类(包含数据科学计数法转为普通值) package com.thinkgem.jeesite.common.utils.excel; import org.apache.poi. ...

随机推荐

  1. apache benchmark并发测试工具使用

    ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比如nginx.tomcat.IIS等. 一.Apach ...

  2. 安卓——AppTheme

    <?xml version="1.0" encoding="utf-8"?> <resources> <style name=&q ...

  3. spring cloud服务发现注解之@EnableDiscoveryClient与@EnableEurekaClient区别

    在使用服务发现的时候有两种注解, 一种为@EnableDiscoveryClient, 一种为@EnableEurekaClient, 用法上基本一致,下文是从stackoverflow上面找到的对这 ...

  4. 如何仅用递归函数和栈操作逆序一个栈——你要先用stack实现,再去改成递归——需要对递归理解很深刻才能写出来

    /** * 如何仅用递归函数和栈操作逆序一个栈 * 题目: * 一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1. * 将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就 ...

  5. SIMD指令集——一条指令操作多个数,SSE,AVX都是,例如:乘累加,Shuffle等

    SIMD指令集 from:https://zhuanlan.zhihu.com/p/31271788 SIMD,即Single Instruction, Multiple Data,一条指令操作多个数 ...

  6. php 日志模块源码解析

    php日志模块设计 Monolog 是PHP的一个日志类库解析 整体介绍:monolog日志模块遵循 PSR3 的接口规范.主要有日志格式类接口(格式化日志信息),处理类接口(写日志的驱动,通过扩展写 ...

  7. vue 跳外链

    var host = window.location.host;var protocal = window.location.protocolwindow.location.href = protoc ...

  8. Ubuntu上安装MySQL

    Ubuntu上安装MySQL非常简单只需要几条命令就可以完成.`````` sudo apt-get update sudo apt-get install mysql-server 会弹出提示,让输 ...

  9. zabbix_server.conf、zabbix_agentd.conf配置文件详解

    zabbix_server.conf配置文件详解 AlertScriptsPath 默认值:/usr/local/share/zabbix/alertscripts 说明:告警脚本目录 AllowRo ...

  10. Java使用wait() notify()方法操作共享资源

    Java多个线程共享资源: 1)wait().notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写. 2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线 ...