自己一个一个试出来,并写上解释。

还不熟练,待多写代码多练习。

#!/usr/bin/python
# -*- coding:utf-8 -*- import os
import xlwt
import xlrd excel_Path = (r"D:\python\The company plug-in\10.13.xlsx") data = xlrd.open_workbook(excel_Path) table = data.sheets()[0]
table = data.sheet_by_index(0)
# table = data.sheet_by_name(u"03") a = table.row_values(2) #整行数据
a = table.col_values(4) #整列数据
# for i in a:
# print i.encode("gb2312") #表格读取中文是要加这个进行转码 # nrows = table.nrows
# ncols = table.nclos
def set_style(name, height, bold=False):
style = xlwt.XFStyle() #初始化样式
font = xlwt.Font() #为样式创建字体
font.name = name #"Times New Roman"
font.bold = bold
font.color_index = 4
font.height = height style.font = font
return style def write_excel():
f = xlwt.Workbook() #创建工作薄
"""
创建工作薄
"""
sheet1 = f.add_sheet(u"sheet1", cell_overwrite_ok=True) #创建sheet
row0 = [u"业务", u"状态", u"北京", u"上海", u"广州", u"深圳",u"状态小计", u"合计"] #列 输入内容列表
column0 = [u"机票", u"船票", u"火车票", u"汽车票", u"其它"]
status = [u"预定", u"出票", u"退票", u"业务小计"]
for i in range(0, len(row0)):
sheet1.write(0, i, row0[i], set_style("Times New Roman", 300, True))#1:竖着坐标 2:横着坐标 3:写入内容 4:设置字体和字体大小
# sheet1.write_merge(1, 1, 6, 6)#5
# sheet1.write_merge(1, 3, 6, 6)#6 # ()括号里的数值 分别为 1: 2:竖着数几行 3:
# sheet1.write_merge(1, 5, 5, 6)# 7 # ()括号里的数值 分别为 1: 2:竖着数几行 3和4:从那列到那列进行合并
# sheet1.write_merge(0, 5, 5, 6)# 8 # ()括号里的数值 分别为 1:竖着从第几行开始 2:竖着数几行格式化 3和4:从那列到那列进行合并 i, j = 1, 0
while i < 4 * len(status) and j < len(column0):
# print "yes"
sheet1.write_merge(i, i + 3, 0, 0, column0[j], set_style("Times New Roman", 250, True))
#分别为 1:竖着从第几行开始 2:竖着数几行格式化 3和4:从那列到那列进行合并 5:写入内容 6:设置字体和大小
sheet1.write_merge(i, i + 3, 7, 7,) # 最后一列"合计"
i += 4
j += 1
i = 0
while i < len(status) * len(status):
for a in status:
# print status[i]
sheet1.write(i + 1, 1, a, set_style("Times New Roman", 200, True))
i += 1
print i
sheet1.write_merge(23, 23, 0, 1, row0[7], set_style("Times New Roman", 300, True)) f.save("test23.xlsx") # #生成第一行
#
# for i in range(0, len(row0)):
# # print (0, i, row0[i], set_style("Times New Roman", 220, True))
# sheet1.write(0, i, row0[i], set_style("Times New Roman", 220, True))
#
# #生成第一列和最后一列(合并4行)
# i, j = 1, 0
# while i < 4 * len(column0) and j < len(column0):
# sheet1.write_merge(i, i+3, 0, 0, column0[j], set_style("Arial", 220, True)) #第一列
# sheet1.write_merge(i, i + 3, 7, 7,) #最后一列"合计"
# i += 4
# j += 1
# sheet1.write_merge(21, 21, 0, 1, u"合计", set_style("Times New Roman", 220, True))
#
# #生成第二列
# i = 0
# while i < 4 * len(column0):
# for j in range(0, len(status)):
# sheet1.write(j + i + 1, 1, status[j])
# i += 4
# f.save("demo1.xlsx") #保存文件
#
if __name__ == "__main__": # 测试,判断是不是被人导入,被人当模块使用的时候 就等于文件名
#generate_workbook()
#read_rxcel()
write_excel() # for i in os.listdir(excel_Path):
# if "20170602_A" in i:
# j = os.path.join(excel_Path, i)
# # k = xlrd.open_workbook(j)
# print j

Excel表格的更多相关文章

  1. Python处理Excel表格

    同事小王今天说他有一个Excel表格,表格如下,一列是姓名,一列是电话号码,总共有大概2000行数据. 有的姓名占了一行,有的占了两行,还有一些占了三行的.如下图: 他问我可不可以全部统一成一行,而且 ...

  2. PHP导入导出excel表格图片(转)

    写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...

  3. nodejs+edatagrid读取本地excel表格

     

  4. C# 将excel表格嵌入到Word中

    C# 将excel表格嵌入到Word中 继续开扒,今天要实现的是使用C#将excel表格嵌入到Word中这个功能,将word表格导入到excel中我已经写过了,如有需要可参考我之前的文章,在开始前还有 ...

  5. C# 在excel表格中检索并导出数据

    由于工作需要,我经常使用excel文档来存储和处理各种数据,在生活中偶尔也会使用excel表格来记录各种开销,相信很多朋友也和我一样.Excel的功能很强大,其中一个很实用的数据处理功能就是查找和替换 ...

  6. php导入excel表格

    我们做网站的时候经常要用到excel导入和导出的功能,我们通常的做法是用phpexcel工具包来完成,具体方法如下: html代码: <form action="{:U('Mall/u ...

  7. php网址显示excel表格内容

    /** * excel表格内容在网页中显示 * * 首先需要下载PHPExcel 工具包 * 网址: http://phpexcel.codeplex.com/releases/view/119187 ...

  8. 简单Excel表格上传下载,POI

    一.废话 Excel表格是office软件中的一员,几乎是使用次数最多的办公软件.所以在java进行企业级应用开发的时候经常会用到对应的上传下载便利办公. 目前,比较常用的实现Java导入.导出Exc ...

  9. jxl读取Excel表格数据

    调用jxl包实现Excel表格数据的读取,代码如下: import java.io.File; import java.io.IOException; import java.util.ArrayLi ...

  10. C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel

    其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...

随机推荐

  1. SoapUI报ClientProtocolException错误

    在SoapUI中出现了这个错误 org.apache.http.client.ClientProtocolException 检查后发现是SoapUI安装目录下lib中多了httpclient-*** ...

  2. ssh连接超时问题解决方案,每一种方案都可以

    1.服务端修改 vim /etc/ssh/sshd_config 修改 ClientAliveInterval 60 ClientAliveCountMax 40 60秒,向客户端发送一次请求. 超过 ...

  3. 【POJ 1958】 Strange Towers of Hanoi

    [题目链接] http://poj.org/problem?id=1958 [算法] 先考虑三个塔的情况,g[i]表示在三塔情况下的移动步数,则g[i] = g[i-1] * 2 + 1 再考虑四个塔 ...

  4. yistack

  5. 【转载】HashMap实现原理浅析

    HashMap和Hashtable的区别 两者最主要的区别在于Hashtable是线程安全,而HashMap则非线程安全Hashtable的实现方法里面都添加了synchronized关键字来确保线程 ...

  6. PCB 围绕CAM自动化,打造PCB规则引擎

    AutoCAM自动化平台,前端管理订单,而后端执行任务,前端UIl界面有板厚,铜厚,板材,表面处理,层数等信息,而这些信息并不是后端最终所需要的信息后.拿钻孔补偿来说,后端需要的是钻孔补偿值,但前端并 ...

  7. POI上传Excel的小问题处理

    package com.platform.utils.excel; import com.platform.utils.RRException; import org.springframework. ...

  8. Kafka详解与总结(四)

    Kafka消息分发和消费者push.pull机制 1. 消息分发 Producer客户端负责消息的分发 kafka集群中的任何一个broker都可以向producer提供metadata信息,这些me ...

  9. mysql在linux下的安装(5.7版本以后)

    1.添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组. ①groupadd mysql ②useradd -r -g mysql mysql 2.将二进制文件解压到指定的 ...

  10. 题解报告:hdu 1527 取石子游戏(威佐夫博弈)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1527 Problem Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石 ...