HTML 即超文本标记语言。HTML 是用于创建可从一个平台移植到另一平台的超文本文档的一种简单标记语言, 经常用来创建web页面。
HTML 网页是一种常用的输出方式。 HTML 是一种纯文本, 这里用字符串处理的方法。
场景说明
读取表格的每一行每一列数据,并且写入到新建html文件中。 以表格的排列方式展示数据,文字内容对应生成超链接,响应鼠标点击事件, 弹出文字内容相对应的网址链接。
解决思路
使用openpyxl模块的 load_workbook
函数,加载防灾减灾数据目录-中英文_20200629.xlsx
文件,
获取xlsx文件里的‘中英文含摘要’表,读取表中每一行数据,
同时准备出来写入html文件的str
字符串,并且把css样式写到html头部,
将文字内容、数据链接格式化填充到str
字符串的<a>
标签里,
最后写入防灾减灾数据目录-中英文_20200629.html
文件。
解决方法
- 从openpyxl模块导入所需要的
load_workbook
函数 - 使用
load_workbook('防灾减灾数据目录-中英文_20200629.xlsx')
函数加载xlsx文件 get_sheet_by_name('中英文含摘要')
根据表名获取表内容str
字符串写入html头部代码,table和a标签的css样式
from openpyxl import load_workbook
wb = load_workbook('/data/demo/防灾减灾数据目录-中英文_20200629.xlsx')
wb.sheetnames
['中英文含摘要']
str="""
<html>
<head><meta charset="utf-8">
<style>
table{
min-width:1000px;
border
}
table,th,td
{
border:1px solid green;
}
a{
text-decoration: none;
}
a:link,a:visited,a:active{color:black}
a:hover{color:green}
</style>
</head>
<body>
<div>
<table>
"""
i=0
sheet = wb['中英文含摘要']
遍历sheet.rows
,逐行处理数据,读取的第一行表内容为表头,
使用format
函数将序列、标题、简介和链接列为参数,
格式化填写到str
字符串里。
新建html文件,并将写好的str
内容写到文件并保存。
for row in sheet.rows:
str=str+"""<tr>"""
if i==0:
str=str+"""<th>{id}</th>
<th><a href="{url}" target="_blank">{title}</a></th>
<th><a href="{url}" target="_blank">{intro}</a></th>
""".format( id = i if i!=0 else '',
title = row[4].value,
intro = row[5].value,
url = row[1].value)
else:
str=str+"""<td>{id}</td>
<td><a href="{url}" target="_blank">{title}</a></td>
<td><a href="{url}" target="_blank">{intro}</a></td>
""".format( id = i if i!=0 else '',
title = row[4].value,
intro = row[5].value,
url = row[1].value)
str=str+"""</tr>"""
i=i+1
str=str+"""</table> </div> </body></html>"""
fo = open("xx_防灾减灾数据目录-中英文_20200629.html", "w")
fo.write(str)
fo.close()
该方案展示了从Excel到HTML转换的核心思路,通过结构化代码和现代CSS设计提升了输出效果,同时指出了进一步专业化的可能方向。 实际应用中可根据具体需求选择适当的扩展功能。