Python excel转成html页面 excel 在线预览
Python excel转成html页面 excel 在线预览
因为这两天公司的项目要用到在浏览excel 所以就在做这个功能。一开始查了很多资料 都是各种不行,最后好不容易找到一些辅助资料 终于是今天把它修改完成了,用的是dominate生成静态页面的方法。(还有其他方法的) 有需要的拿去用吧 下面贴上代码:
import logging,dominate, openpyxl, sys, os
from xlrd import open_workbook
from dominate.tags import *
# 创建获取excel数据的函数
def excel_sheet_processor(filepath):# 通过open_workbook函数 获取Book对象wb = open_workbook(filepath, formatting_info=True)# 创建一个新的sheet 对象ws = wb.sheet_by_index(0)# 创建2个空列表用于储存数据workbook_list = []my_keys = []# 通过遍历ncols 获取excel表中第一行(python中0是第一行的意思)和所有列的数据for col in range(ws.ncols):my_keys.append(ws.cell_value(rowx=0, colx=col))# 通过遍历nrows和 获取excel表中所有行里面的和对应列的数据for r in range(1,ws.nrows):dict = {}for pos in range(0, len(my_keys)):dict[my_keys[pos]] = ws.cell_value(rowx=r, colx=pos)# 将获取的字典数据 添加进一开始写好的空列表中workbook_list.append(dict)return workbook_list# 创建excel生成静态html页面的函数
def list_diction_to_html(list_work):# 用dominate函数生成静态html页面doc = dominate.document(title='excel-to-html')# 写在头部的 css 可以自定义自己的想要用的css文件, (重要: meta一定要加 要不会在打开html时乱码,因为html默认不是utf-8编码)with doc.head:link(rel='stylesheet', href='Perconnel/static/css/style.css')meta(charset='utf-8')# 创建一个table,将获取到的数据通过遍历添加进去对应的位置with doc:with div(id='excel_table').add(table()):with thead():dict = list_work[0]for key in dict.keys():table_header = td()table_header.add(p(key))for dict2 in list_work:table_row = tr(cls='excel_table_row')for key in dict2:with table_row.add(td()):p(dict2[key])return str(doc)# 保存生成后html的函数
def save_dom_to_html(dom):filepath = os.path.abspath("excel.html")htmfile = open(filepath, "w")htmfile.write(dom)htmfile.close()return filepath# 文件地址可以通过数据库里存的获取, 此用于测试 所以写了绝对路径
if __name__ == '__main__':filepath = os.path.abspath('Personnel/media/upload/001.xls')list_work = excel_sheet_processor(filepath)if list_work:dom = list_diction_to_html(list_work)save_dom_to_html(dom)
做为一个初级程序员 ,更多的是希望获取更多的正确的功能代码,希望大家在留下功能代码的时候 多留下注释,要不浏览起来 真的太难了- -!
有疑问的欢迎留言,看到会及时回复。
或者可以添加我V :583193164问我。~
祝大家新的一年 身体健康 心想事成!!!
Python excel转成html页面 excel 在线预览相关推荐
- 使用aspose方式使excel,ppt,word进行在线预览。(无水印)
使用aspose方式使excel,ppt,word进行在线预览.(无水印) 1.首先,页面需要用jquery中window.open();打开一个新页面. window.open(../fileMan ...
- html怎么转换到百度,类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版...
类似百度文库在线预览文档flash版(支持word.excel.ppt.pdf)+在线预览文档html版 (1).将文档转换为html,只支持支持office文档 (2).将文档转换为flash,实现 ...
- 使用libreoffice将office文档(word、ppt、excel)转pdf,实现在线预览
项目需要实现局域网预览office文档的功能,之前做的在线项目,都是将文档上传到cdn,利用cdn自带的转码功能,把文档转换为pdf,然后再用pdf.js实现在线预览. 因为是局域网,没有办法上传到c ...
- springBootopenoffice将word/excel转换成pdf或者html用于预览
openoffice安装参见 https://blog.csdn.net/u010692825/article/details/106159178 此外网上也有很多类似的文章,都介绍得比较详细 现在简 ...
- php 输出内容到表格,phpexcel 输出表格到页面(在线预览表格),导出excel
php导出excel我们经常采用phpexcel方便,可是在开发过程中,没修过一次就点击下载一个excel文件着实麻烦,而且还不容易调试错误.其实phpexcel 还可以输出表格到页面,方便调试 实例 ...
- java word openoffice_java 使用openoffice 转换文档,成.pdf,实现在线预览效果
1. 下载 openoffice 地址 https://pan.baidu.com/s/1dfpoG6zlawoW1pqpDvBL0A 密码: v4ej 如果上面的地址无法访问请访问这个地址:下载地址 ...
- Vue+SpringBoot实现Excel在线预览功能(PS:添加样式比较费劲)
** 问题还原: ** 在做项目时,用户需要上传Excel模板,里面有对应的各种数据.我们拿到这个Excel后,定时的根据其中的数据去查对应的实时数据并进行计算,然后将实时数据和计算后的数据保存到Ex ...
- 【aspose】 word/excel转pdf,实现在线预览文件功能
项目场景: 需求描述:上传附件后,可实现在线预览,这里就会存在一个问题,很多附件的类型是没法在线预览的,点击就会下载.除pdf/jpg/jpeg等,于是技术方案定,将word/excel等类型的文件转 ...
- office 文档在线预览新姿势之永中云转换
你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,或者需要毕业设计,大作业指导,购买付费源码等,欢迎指教: 企鹅:869192208 文章目录 前言: 一.接入准备 二.预览 w ...
最新文章
- 3,maven使用入门
- robots协议是什么?对网站SEO有什么好处?
- DL之NN:基于(sklearn自带手写数字图片识别数据集)+自定义NN类(三层64→100→10)实现97.5%准确率
- 编译原理——词法分析器
- 在应用程序中实现对NandFlash的操作
- python中valueerror怎么改_如何修复Python ValueError:错误的元数据?
- java后台手动分页
- python每周小测验答案_python第一周小测验答案Centos下更新Python版本
- linux上安装telnet服务器:linux vmvare虚拟机 安装telnet redhat9
- springboot+mybatis日志显示SQL
- 最近弄了个新的技术公众号,欢迎大家关注
- 客户端程序调用zookeeper报len4807928异常
- rdlc mysql_RDLC 报表开发
- 虚拟机中模拟uboot启动
- linux使用进程抓包,netstat、Linux下抓包
- python ev3图形化编程软件下载_【stm32图形化编程软件免费版下载】stm32图形化编程软件 v1.0 最新免费版-开心电玩...
- 如何在edge浏览器上安装flash插件运行需要flash的游戏
- 如何把二维表转成一维表
- 身份证件号码有效性校验
- 为什么是NoSQL数据库?