操作-写入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 ...
随机推荐
- Java——删除Map集合中key-value值
通过迭代器删除Map集合中的key-value值 Iterator<String> iter = map.keySet().iterator(); while(iter.hasNext() ...
- 初识Mysql 外键
1.创建学生表(主表) CREATE TABLE `stu` ( `stunum` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT N ...
- springmvc拦截器和概念,配置!!!
用于拦截请求,过滤后再拦截 实现HandlerInterceptor接口 配置拦截器 package cn.zys.lanjieqi; import javax.servlet.http.HttpSe ...
- 重磅!阿里P8费心整理Netty实战+指南+项目白皮书PDF,总计1.08G
前言 Netty是一款用于快速开发高性能的网络应用程序的Java框架.它封装了网络编程的复杂性,使网络编程和Web技术的最新进展能够被比以往更广泛的开发人员接触到. Netty不只是一个接口和类的集合 ...
- 脚本学习一(echo、echo off、@、start)
1.echo表示显示此命令后的字符 脚本: 输出结果: 2.echo off表示在此语句后所有运行的命令都不显示命令行本身 脚本: 输出结果: 3.@与echo off相象,但它是加在每个命令行的最前 ...
- MongoDB学习(一) 安装与基本使用
链接:https://pan.baidu.com/s/1ogTDFJg3ZZc0CyzaTeswWg 提取码:2k0p 安装 // 将压缩包解压到指定目录 [bigdata@linux backup] ...
- Rocket - diplomacy - enumerateMask
https://mp.weixin.qq.com/s/s3hr5JJX2_pwNgdu8WqV0Q 介绍enumerateMask的实现.(仅供理解,非严谨证明) 1. 基本定义 ...
- Multiple annotations found at this line:- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
解决办法: 右键所在项目 build path configure build path java build path Add Library server Run time (Apache Tom ...
- webpack+vue2.0项目 (一) vue-cli脚手架
很早以前就开始看vue2.0和webpack,但总是留不下深刻的印象,一直缺少一个可以贯通的项目,而且工作也没有时间,最近辞职在家,从网上找了个项目,写了大概八天,踩了无数的坑啊!! 下载的项目包括, ...
- Java实现洛谷 P1007独木桥
题目背景 战争已经进入到紧要时间.你是运输小队长,正在率领运输部队向前线运送物资.运输任务像做题一样的无聊.你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们.士兵 ...