import xlsxwriter
# 获取字符串长度,一个中文的长度为2if __name__ == '__main__':# 创建工作簿并添加工作表。workbook = xlsxwriter.Workbook('Expenses01.xlsx')  # 设置输出路径为当前目录下worksheet = workbook.add_worksheet('sheet1')merge_format = workbook.add_format({'bold': True,  # 字体加粗'border': 1,  # 单元格边框宽度'align': 'center',  # 水平居中'valign': 'vcenter',  # 垂直居中})merge_format2 = workbook.add_format({'border': 1,  # 单元格边框宽度'align': 'center',  # 水平居中'valign': 'vcenter',  # 垂直居中})# 下面是我们想要写入工作表的一些数据。expenses = (['时间', '自有', '自有', '自有', '曝光量', '曝光量', '曝光量', '曝光量', '点击量', '点击量', '点击量', '点击率', '点击率', '广点通-思擎收益维度','广点通-思擎收益维度', '广点通-思擎收益维度', '分成后的收益维度', '分成后的收益维度', '分成后的收益维度', '支出', '收益', '下载', '安装', '2K曝光安装数', '安装单价','安装转化率'],['时间', '请求数', '请求成功', '填充率', '我的数据', '广点通-思擎数据', '曝光率', '曝光占比', '我的数据', '广点通-思擎数据', '点击占比', '我的数据', '广点通-思擎数据','收入', 'ecpm', 'cpc', '收入', 'ecpm', 'cpc', '支出', '收益', '下载', '安装', '2K曝光安装数', '安装单价', '安装转化率'],['2019-12-01', 428149, 383159, 89.49, 370665, 471006, 96.74, 127.07, 76487, 88610, 115.85, 20.64, 18.81, 11852,25.16, 0.13, 9481.6, 25.58, 0.12, 1667.9925, 7813.61, 0, 0, 0, 0, 0],['2019-12-02', 389632, 351259, 90.15, 330347, 329097, 94.05, 99.62, 70559, 69023, 97.82, 21.36, 20.97, 10726.62,32.59, 0.16, 8581.296, 25.98, 0.12, 1486.5615, 7094.73, 0, 0, 0, 0, 0],)# 从第一个单元格开始。行和列为零索引。# 迭代数据并逐行写出。for row in range(len(expenses)):if row < 2:for col in range(len(expenses[row])):if expenses[row][col] == expenses[row - 1][col]:'''merge_range(first_row, first_col, last_row, last_col, data[, cell_format])  :合并elsx 表格数据 :第一行 ,第一列,最后一行,最后一列,数据'''worksheet.merge_range(row - 1, col, row, col, expenses[row][col], merge_format);elif expenses[row][col] == expenses[row][col - 1]:worksheet.merge_range(row, col - 1, row, col, expenses[row][col], merge_format);else:worksheet.write(row, col, expenses[row][col], merge_format)else:for col in range(len(expenses[row])):worksheet.write(row, col, expenses[row][col], merge_format2)worksheet.set_column(row, col, 15);chart_col = workbook.add_chart({'type': 'line'})  # 新建图表格式 line为折线图chart_col.add_series(  # 给图表设置格式,填充内容{'name': '=sheet1!$G$2','categories': '=sheet1!$A$3:$A$12','values': '=sheet1!$G$3:$G$12','line': {'color': '#669CEE'},})chart_col.set_title({'name': '曝光率'})chart_col.set_style(1)worksheet.insert_chart('A17', chart_col, {'x_offset': 32, 'y_offset': 17})  # 放置图表位置# 不要忘记关闭文件workbook.close()
@csrf_exempt
def resources_excel(request):from django.utils.http import urlquoteif request.method == 'GET':pageSize = request.GET.get('pageSize')startIndex = request.GET.get('startIndex')pageSize = int(pageSize)startIndex = int(startIndex)astId = request.GET.get('astId')aitId = request.GET.get('aitId')actId = request.GET.get('actId')resourcesAll = resources_by_list({'startIndex': startIndex, 'pageSize': pageSize,'astId': astId, 'aitId': aitId, 'actId': actId})header = ['图片地址', '点击地址', '展示类型', '交互类型', '标题', '描述']data = resourcesAll['data'] #要写入的数据book = xlwt.Workbook(encoding='utf-8', style_compression=0)  # 创建一个Workbook对象,这就相当于创建了一个Excel文件# # 其中的test是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,其实是Worksheet实例化的一个参数,默认值是Falsesheet = book.add_sheet('test', cell_overwrite_ok=True)# 设置表头i = 0for k in header:sheet.write(0, i, k)i = i + 1# 数据写入excelrow = 1for val in data:sheet.write(row, 0, val['img_url'])  # 第二行开始sheet.write(row, 1, val['click_url'])  # 第二行开始sheet.write(row, 2, val['astName'])  # 第二行开始sheet.write(row, 3, val['aitName'])  # 第二行开始sheet.write(row, 4, val['title'])  # 第二行开始sheet.write(row, 5, val['description'])  # 第二行开始row = row + 1# 最后,将以上操作保存到指定的Excel文件中,只能本地用# time_stamp = datetime.datetime.now()# ticks2 = time_stamp.strftime('%Y-%m-%d-%H.%M.%S')# excel = "d:\excel"+ticks2+".xls"# book.save('test.xls')# book.save(excel)# return HttpResponse(content_type="application/json")# 写入浏览器# 写出到IOoutput = io.BytesIO()book.save(output)# 重新定位到开始output.seek(0)response = HttpResponse(output.getvalue(), content_type='application/vnd.ms-excel')ctime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')file_name = '素材池信息%s.xls' % ctime  # 给文件名中添加日期时间file_name = urlquote(file_name)  # 使用urlquote()方法解决中文无法使用的问题response['Content-Disposition'] = 'attachment; filename=%s' % file_nameresponse.write(output.getvalue())    # 在设置HttpResponse的类型时,如果给了值,可以不写这句return response
<a id="execl"><button type="button" id="export_btn" class="btn green bold" ><i class="glyphicon glyphicon-log-out"></i> excel导出</button></a>//get请求 直接<a> 标签function initExport(){$("#export_btn").click(function () {astId = $("#show_type").val();if (astId == null){astId ="";}aitId = $("#interaction_type").val();if (aitId == null){aitId ="";}actId = $("#creative_type").val();if (actId == null){actId ="";}startIndex = (currentPage - 1) * pageSize;pageSize = pageSize;excelurl = "http://101.132.157.106:8880/resources/resources_excel?pageSize="+pageSize+"&startIndex="+startIndex+"&astId="+astId+"&aitId="+aitId+"&actId="+actId+"";$("#execl").attr("href",excelurl);window.location.href=excelurl;})}

python excel表格的导入和excel中插入折线图相关推荐

  1. 将excel表格数据导入到Matlab并生成折线图

    clc;%清理命令行窗口 clear all;%清理工作区 %读取excel数据,同目录下 tx=xlsread('11.xlsx');%导入excel表格数据juli=tx(:,1);%第1列数据为 ...

  2. mysql端口号3306被占用_使用pandas将excel表格数据导入到mysql中

    需要用到的python第三方库:pandas/sqlalchemy 第一步:导入pandas/sqlalchemy库 import pandas as pd import sqlalchemy as ...

  3. 将包含经纬度点位信息的Excel表格数据导入到ArcMap中并输出成shapefile

    将包含经纬信息的Excel表格数据,导入到ArcMap中并输出成shapefile,再进行后面的操作.使用这种方法可以将每一个包含经纬信息的数据在ArcMap中点出来. 一.准备数据 新建Excel表 ...

  4. Excel表格数据导入mysql数据库中

    1.将excel表格中的数据复制到txt文件中 (如果有中文汉字注意:将txt文件更改成utf-8格式) 2.将.txt文件放入D盘 3.创建数据库和表(注意:数据库中的属性一定要和excel表格中的 ...

  5. 表格数据批量导入html,excel表格数据导入前端table-html中的表格数据怎样导入到ecxel表?...

    如何将excel中的数据自动导入web页面中? 如何将Excel中一个表格的数据导入到另一个表格 DataTable.ImportSheet(FileName,SheetSource,SheetDes ...

  6. python对Excel表格的指定两列数据画折线图

    Excel表格数据如下: # -*- coding:utf-8 -*- import numpy as np from matplotlib import pyplot as plt import x ...

  7. python在excel中插入折线图_python如何删除excel中已经存在的折线图?

    通过excel复制,重新生成一个新的excel实现: import copy import openpyxl from openpyxl.utils import get_column_letter ...

  8. python导入excel表格-Python 将Excel表格数据导入MySQL数据库

    今天分享一个刚刚完成的Python脚本,一个实用的小技能,就是利用Python代码,将EXCEL表格数据导入到MySQL数据库中!话不多说,下面代码示例. Excel表格数据.jpg 1示例代码: i ...

  9. python快速将excel表格规范导入word

    提示:快速将excel表格规范导入word python快速将excel表格规范导入word 前言 二.开发环境 三.实现步骤 1.引入库 2.代码片段 前言 最近接到一个需求,公司的统计需要一个ex ...

  10. 用ado把excel数据写入oracle,如何将excel表格数据导入到oracle数据库对应的表中?!oracle导出excel文件...

    如何把excel里的表导入到oracle里 使用第三方工具吧,toad之类的 一个excel表格中有多个sheet,如何将其导入oracle数据库 户和要用DBA 最简单得建用户: create us ...

最新文章

  1. IDEA运行第一个Spring Boot应用程序
  2. Nginx 教程- 获取真实IP模块 - http_realip_module
  3. 奥特曼系列ol光元在哪个服务器,奥特曼系列ol光元怎么合理使用
  4. SpringBoot基础篇AOP之基本使用姿势小结
  5. CRMM_PR_MAST cannot activate
  6. 第二章 变量、数据类型和运算符
  7. JS实现new关键字的功能
  8. DSP程序结构优化技巧
  9. 小程序 局域网 服务器,微信小程序网络请求request局域网下的开发测试
  10. 数据库篇--update触发器
  11. 计算机自带游戏如何删除,win7怎么彻底删除自带游戏,win7自带游戏怎么删除隐藏...
  12. 掌握搜索引擎优化方法使关键词快速排名
  13. 那些年的 Hello World (HTML)
  14. 总结--linux常用配置文件总结
  15. rm——删除文件、文件夹
  16. 412.FizzBuzz
  17. 计算机图形学--扫描线填充算法
  18. ArcGIS基础:等高线数据生成栅格DEM数据
  19. Zephyr MCUBoot
  20. IPad上windows远程桌面软件推荐

热门文章

  1. dedecms教程:织梦建站教程之如何为内容模型添加新字段?
  2. 国内域名如何转入 GoDaddy,域名转入GoDaddy要注意?
  3. 多线程服务器的常用编程模型
  4. 什么是数据缩减,无损4:1缩减有多难?
  5. 常用串口调试工具比较(详细)
  6. web工程无法访问本地图片解决方案
  7. thinkpadt410接口介绍_【ThinkPadT410s(2912BR7)评测】丰富接口满足日常所需-中关村在线...
  8. Rclone挂载SharePoint
  9. vue 移动端无限瀑布流 插件使用
  10. 迈普路由器访问控制列表配置命令_迈普路由器配置手册