python 操作excel文件——openpyxl, xlsxwriter, pandas
xlrd,xlwt两个模块,但是xlwt这个模块只能输出.xls文件,不能输出.xlsx文件,而.xls最多只能支持256列。
由于xlwt的局限,所以不推荐使用,除非是要输出老的03版excel文件,现在应该不太会有这种要求了。
openpyxl和xlsxwriter都可以输出10版的excel文件,但是openpyxl在使用上要更麻烦一点,而且openpyxl有一个比较蛋疼的地方就是最合并单元格的格式有问题,会出现边框不全等,openpyxl各个版本之间有所差异,经常升级以后就出现错误。
但是openpyxl可以读入已有的excel表格,进行增量更新。这意味着,可以手动将excel表格的格式先创建好,让后只用openpyxl去更新数据,这个对于格式比较复杂的excel表格效率提高很多。
xlsxwriter的使用和xlwt基本一样,速度比openpyxl要快,但是不能读取excel文档,如果要输出excel文档,就必须从头做起,包括文档的格式,如果文档有很多复杂的单元格式,就比较麻烦了,但是如果大批量的处理,还是值得的。
pandas读取excel表格很方便,再加上pandas强大的数据处理功能,可以很容易生成目标数据,然后利用openpyxl或者xlsxwriter将数据写进excel,鄙人基本都是这么做的。有了pandas,xlrd几乎没用过。
openpyxl用法:https://blog.csdn.net/m0_47170642/article/details/119137885
OpenPyXL库 --单元格样式设置: https://www.jb51.net/article/189930.htm
python基于openpyxl生成excel文件 https://www.jb51.net/article/202778.htm
Python openpyxl模块学习之轻松玩转Excel https://www.jb51.net/article/231277.htm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #!/usr/bin/env python # _*_ coding:utf-8 _*_ import shutil import openpyxl import datetime def create_new_excel(tempalte_excel_path, new_excel_path): shutil.copy(tempalte_excel_path, new_excel_path) def update_new_excel(new_excel_path, data): wb = openpyxl.load_workbook(filename = new_excel_path) ws = wb.worksheets[ 0 ] ws[ "A1" ] = data[ "title" ] row = 4 for item in data[ "items" ]: ws[ "A%s" % row] = item[ 0 ] ws[ "B%s" % row] = item[ 1 ] ws[ "C%s" % row] = item[ 2 ] ws[ "D%s" % row] = item[ 3 ] ws[ "E%s" % row] = item[ 4 ] ws[ "F%s" % row] = item[ 5 ] row + = 1 wb.save(new_excel_path) def main(): template_excel_path = "./template1.xlsx" new_excel_path = "./02_test_openpyxl_excel.xlsx" create_new_excel(template_excel_path, new_excel_path) data = { "title" : "Test Openpyxl Excel Demo Examples" , "items" : [ [ 1001 , "丁三" , "运维工程师" , "A" , "15k" , datetime.datetime.now().date() - datetime.timedelta(days = 730 )], [ 1002 , "王五" , "ISO工程师" , "A" , "15k" , datetime.datetime.now().date() - datetime.timedelta(days = 740 )], [ 1003 , "张三" , "Golang后端工程师" , "A" , "15k" , datetime.datetime.now().date() - datetime.timedelta(days = 1200 )], ] } update_new_excel(new_excel_path, data) if __name__ = = '__main__' : main() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | js给asp:TextBox 赋值,后台获取不到值的问题解决 xlb_123 于 2020 - 11 - 12 15 : 47 : 06 发布 551 收藏 文章标签: web 版权 <asp:TextBox runat = "server" ID = "txtDepartmentName" >< / asp:TextBox> 赋值 js赋值: $( "#<%=txtDepartmentName.ClientID%>" ).val( "测试11" ); 后台取值: string ItemStr = txtDepartmentName.Value; |
纯js操作
var s = document.getElementById("<%=txt_YuFXM.ClientID %>").value;
alert(s);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理