操作-写入excel
xlwt模块
封装
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import xlwt
import xlrd
from xlutils.copy import copy class ExcelWrite(object):
def __init__(self, dir, file):
self.file_name = dir + file def set_style(self, name, colour_index, height, underline=False, italic=False, bold=False):
"""
:param name: 字体,如微软雅黑,Times New Roman等类型字体
:param colour_index: 字体颜色,如4
:param height: 字体大小
:param underline: 下划线
:param italic: 斜体
:param bold: 粗体
:return: 返回字体样式
"""
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 创建字体
font.name = name # 设置字体类型
font.colour_index = colour_index # 字体颜色
font.height = height # 字体大小
font.underline = underline
font.italic = italic
font.bold = bold # 粗体
style.font = font
return style """
按行插入数据
[["姓名", "年龄", "出生日期", "爱好"],["姓名", "年龄", "出生日期", "爱好"],["姓名", "年龄", "出生日期", "爱好"],["姓名", "年龄", "出生日期", "爱好"]]
""" def write_excel_by_rows(self, rows, sheet, style=None):
f = xlwt.Workbook()
sheet = f.add_sheet(sheet, cell_overwrite_ok=True)
rows_length = len(rows)
for i in range(0, rows_length):
row = rows[i]
row_length = len(row)
for j in range(0, row_length):
if style is None:
sheet.write(i, j, row[j])
else:
sheet.write(i, j, row[j], style) f.save(self.file_name) """
按列插入数据
[["姓名", "年龄", "出生日期", "爱好"],["姓名", "年龄", "出生日期", "爱好"],["姓名", "年龄", "出生日期", "爱好"],["姓名", "年龄", "出生日期", "爱好"]]
""" def write_excel_by_columns(self, columns, sheet, style=None):
f = xlwt.Workbook()
sheet = f.add_sheet(sheet, cell_overwrite_ok=True)
columns_length = len(columns)
for i in range(0, columns_length):
column = columns[i]
column_length = len(column)
for j in range(0, column_length):
if style is None:
sheet.write(j, i, column[j])
else:
sheet.write(j, i, column[j], style) f.save(self.file_name) # 追加值
def append_value(self, index_or_name, row, col, value): # 知识点
"""
:param index_or_name: 第几个表格或者表格的名字
:param row: 第几行-1
:param col: 第几列-1
:param value: 填入的值
"""
wb = xlrd.open_workbook(filename=self.file_name)
write_data = copy(wb)
write_data.get_sheet(index_or_name).write(row, col, value) # 行,列,值
write_data.save(self.file_name)
设置单元格宽度
sheet.col(0).width = 300 #设置某列的单元格宽度
写入时间格式
import xlwt
import datetime
#初始化一个excel
excel = xlwt.Workbook(encoding='utf-8')
#新建一个sheet
sheet = excel.add_sheet('xlwt_sheet1')
style = xlwt.XFStyle()
style.num_format_str = 'M/D/YY'
sheet.write(2,0,datetime.datetime.now(),style)
excel.save('C:/Users/ms/Desktop/test_xlwt.xls') # 写入指定时间
date_time = datetime.datetime.strptime('2013-08-28','%Y-%m-%d')
sheet.write(2,0,date_time,style)
合并单元格
write_merge的用法:sheet1.write_merge(6, 6, 1, 2, '内容',style) # write_merge(x, x + h, y, w + y, string, style) # x表示行,y表示列,w表示向右跨列个数,h表示向下跨行个数 x=6,h=0,y=1,w=1 insert_bitmap(img, x, y, x1, y1, scale_x=0.8, scale_y=1)同理
操作-写入excel的更多相关文章
- C#操作Excel文件(读取Excel,写入Excel)
看到论坛里面不断有人提问关于读取excel和导入excel的相关问题.闲暇时间将我所知道的对excel的操作加以总结,如今共享大家,希望给大家可以给大家带了一定的帮助.另外我们还要注意一些简单的问题1 ...
- C# 操作Excel基础篇(读取Excel、写入Excel)
注意事项:Excel的数据表中最多只能储存65535行数据,超出后,需要将数据分割开来进行储存.同时对于Excel中的乱码象限,是由于编码的错误方式导致引起的! 一.读取Excel数据表,获得Data ...
- python(写入excel操作-xlwt模块)
一.安装xlwt模块 pip install xlwt 二.excel写入操作 这种方式只能新增或者覆盖文件写入 import xlwt # 创建一个workbook 设置编码 workbook = ...
- python(写入 excel 操作 xlwt 模块)
一.安装 xlwt 模块 pip install xlwt 二.excel 写入操作 这种方式只能新增或者覆盖文件写入 import xlwt # 创建一个workbook 设置编码 workbook ...
- 按键精灵如何调用Excel及按键精灵写入Excel数据的方法教程---入门自动操作表格
首先来建立一个新的Excel文档,在桌面上点击右键,选择[新建]-[Excel工作表],命名为[新手学员]. 现在这个新Excel文档是空白的,我们接下来会通过按键精灵的脚本来打开并写入一些数据.打开 ...
- C#中NPOI操作excel之读取和写入excel数据
一.下载引用 下载需要引用的dll,即:NPOI.dll,NPOI.OOXML.dll,NPOI.OpenXml4Net.dll,ICSharpCode.SharpZipLib.dll(office2 ...
- python xlwt写入excel操作
引用https://www.cnblogs.com/python-robot/p/9958352.html 安装 $ pip install xlwt 例子: import xlwt # 创建一个wo ...
- 将Oracle数据库中的数据写入Excel
将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...
- Python将MySQL表数据写入excel
背景:将mysql表查询结果写入excel. 1.使用sqlyog工具将查询结果导出到Excel.xml中,用excel打开发现:因为text字段中有回车换行操作,显示结果行是乱的. 2.用mysql ...
随机推荐
- Pandas读取文件报错UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 0: invalid start byte
pandas读取文件时报UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 0: invalid start by ...
- S32K142学习记录_day1
因为项目的原因接触了NXP的S32K142芯片 从官网上download S32DS 安装 找数据手册 发现都是英文的只能看着翻译了 今天看的是关于clock配置的 当clock需要进行切换的时候必须 ...
- 初窥 BB-Framework
- Javascript函数闭包详解(通俗易懂
许多书上闭包过于复杂讲解难懂,自己理解了一下并总结啦~ 讲闭包之前,需要先明白以下几个概念. 总之,函数执行时所在的作用域,是定义时的作用域,而不是调用时所在的作用域. 1.执行上下文(executi ...
- java方式实现堆排序
一.堆排序和堆相关概念描述 堆排序是指利用堆这种数据结构所设计的一种排序算法.堆是一个近似完全二叉树的结构,并同时满足堆的性质:即子结点的值总是小于(或者大于)它的父节点,若子结点的值总是小于它的父节 ...
- ionic3跳转页面的方法
ionic3很好很强大,有人喷有人赞.不想参与其中,个人认为如果能很好的满足需求,好坏都是无所谓的,最合适的才是最好的.总结下最近使用ionic3的一些知识点,方便以后查询.多句嘴:会ionic3和只 ...
- ASP.NET中IHttpHandler与IHttpModule的区别(带样例说明)
IHttpModule相对来说,是一个网页的添加 IHttpHandler相对来说,却是网页的替换 先建一个HandlerDemo的类 using System; using System.Colle ...
- Java 第十一届 蓝桥杯 省模拟赛 小明植树(DFS)
小明植树 题目 问题描述 小明和朋友们一起去郊外植树,他们带了一些在自己实验室精心研究出的小树苗. 小明和朋友们一共有 n 个人,他们经过精心挑选,在一块空地上每个人挑选了一个适合植树的位置,总共 n ...
- Java实现 LeetCode 456 132模式
456. 132模式 给定一个整数序列:a1, a2, -, an,一个132模式的子序列 ai, aj, ak 被定义为:当 i < j < k 时,ai < ak < aj ...
- Java实现 LeetCode 91 解码方法
91. 解码方法 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 - 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总 ...