经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Python 创建或读取 Excel 文件 - E-iceblue
来源:cnblogs  作者:E-iceblue  时间:2023/9/1 8:48:11  对本文有异议

Excel是一种常用的电子表格软件,广泛应用于金融、商业和教育等领域。它提供了强大的数据处理和分析功能,可进行各种计算和公式运算,并能创建各种类型的图表和可视化数据。Excel的灵活性使其成为处理和管理数据的重要工具。本文将介绍如何使用 Spire.XLS for Python 通过代码创建Excel文件,以及读取Excel数据

  • 使用Python创建Excel文件
  • 使用Python读取Excel文件

 

安装 Spire.XLS for Python 组件

Spire.XLS for Python是一款第三方 Python Excel组件,可用于在各种 Python 平台创建、管理、操作及转换 Excel 文档。要完成此任务,需要先通过以下 pip 命令将Spire.XLS for Python 和 plum-dispatch v1.7.4安装到 VS Code中。

  1. pip install Spire.XLS-for-Python
  2. pip install plum-dispatch==1.7.4

官网也提供了详细安装教程,具体可参考: 如何在 VS Code中安装 Spire.XLS for Python

 

使用 Python 创建 Excel 文件

Spire.XLS for Python 提供了各种各样的类、属性和方法可供开发人员对工作簿、工作表、某个单元格范围甚至指定的单元格进行操作。要创建一个Excel文件,并写入具体数据,可参考以下Python代码。

  1. from spire.xls import *
  2. from spire.common import *
  3.  
  4. # 创建 Workbook 对象
  5. wb = Workbook()
  6. # 删除默认工作表
  7. wb.Worksheets.Clear()
  8. # 添加一个工作表并命名
  9. sheet = wb.Worksheets.Add("销售表")
  10. # 合并 A1:G1 单元格
  11. sheet.Range["A1:G1"].Merge()
  12. # 在 A1 中写入数据并设置其单元格样式
  13. sheet.Range["A1"].Text = "销售明细表"
  14. sheet.Range["A1"].HorizontalAlignment = HorizontalAlignType.Center
  15. sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center
  16. sheet.Range["A1"].Style.Font.IsBold = True
  17. sheet.Range["A1"].Style.Font.Size = 13
  18.  
  19. # 设置第一行的行高
  20. sheet.Rows[0].RowHeight = 30
  21.  
  22. # 将文本和数字写入指定的单元格
  23. sheet.Range["A2"].Text = "订单编号"
  24. sheet.Range["B2"].Text = "下单日期"
  25. sheet.Range["C2"].Text = "客户名称"
  26. sheet.Range["D2"].Text = "产品名称"
  27. sheet.Range["E2"].Text = "订单金额"
  28. sheet.Range["F2"].Text = "交货日期"
  29. sheet.Range["G2"].Text = "订单状态"
  30. sheet.Range["A3"].Text = "DXA-001"
  31. sheet.Range["B3"].Text = "2022/12/1"
  32. sheet.Range["C3"].Text = "客户1"
  33. sheet.Range["D3"].Text = "产品1"
  34. sheet.Range["E3"].Text = "5000"
  35. sheet.Range["F3"].Text = "2022/12/12"
  36. sheet.Range["G3"].Text = "已完成"
  37. sheet.Range["A4"].Text = "DXA-002"
  38. sheet.Range["B4"].Text = "2022/12/1"
  39. sheet.Range["C4"].Text = "客户2"
  40. sheet.Range["D4"].Text = "产品2"
  41. sheet.Range["E4"].Text = "3000"
  42. sheet.Range["F4"].Text = "2022/12/15"
  43. sheet.Range["G4"].Text = "进行中"
  44. sheet.Range["A5"].Text = "DXA-003"
  45. sheet.Range["B5"].Text = "2022/12/18"
  46. sheet.Range["C5"].Text = "客户3"
  47. sheet.Range["D5"].Text = "产品3"
  48. sheet.Range["E5"].Text = "1500"
  49. sheet.Range["F5"].Text = "2022/12/28"
  50. sheet.Range["G5"].Text = "未完成"
  51. sheet.Range["A6"].Text = "DXA-004"
  52. sheet.Range["B6"].Text = "2022/12/19"
  53. sheet.Range["C6"].Text = "客户4"
  54. sheet.Range["D6"].Text = "产品4"
  55. sheet.Range["E6"].Text = "2500"
  56. sheet.Range["F6"].Text = "2022/12/24"
  57. sheet.Range["G6"].Text = "已取消"
  58. sheet.Range["A7"].Text = "DXA-005"
  59. sheet.Range["B7"].Text = "2022/12/20"
  60. sheet.Range["C7"].Text = "客户5"
  61. sheet.Range["D7"].Text = "产品5"
  62. sheet.Range["E7"].Text = "5000"
  63. sheet.Range["F7"].Text = "2022/1/5"
  64. sheet.Range["G7"].Text = "进行中"
  65.  
  66. # 设置指定行的行高
  67. sheet.Range["A2:G7"].RowHeight = 20
  68.  
  69. # 设置指定列的列宽
  70. sheet.SetColumnWidth(2, 11)
  71. sheet.SetColumnWidth(3, 9)
  72. sheet.SetColumnWidth(4, 8)
  73. sheet.SetColumnWidth(6, 11)
  74. sheet.SetColumnWidth(7, 10)
  75. # 设置指定单元格范围的边框样式
  76. sheet.Range["A2:G7"].BorderAround(LineStyleType.Medium)
  77. sheet.Range["A2:G7"].BorderInside(LineStyleType.Thin)
  78. sheet.Range["A2:G2"].BorderAround(LineStyleType.Medium)
  79. sheet.Range["A2:G7"].Borders.KnownColor = ExcelColors.Black
  80. # 设置指定单元格范围的单元格样式
  81. sheet.Range["A2:G2"].Style.Color = Color.get_Gold()
  82. sheet.Range["A2:G2"].Style.Font.IsBold = True
  83. # 保存文件
  84. wb.SaveToFile("创建Excel.xlsx", FileFormat.Version2016)

生成文件:

 

 

使用 Python 读取 Excel 数据

Spire.XLS for Python提供的 Worksheet.Range.Value 属性能以字符串形式返回指定单元格的数字值或文本值。要读取一个Excel工作表中的数据,可参考以下Python代码。

  1. from spire.xls import *
  2. from spire.common import *
  3.  
  4. # 创建 Workbook 对象
  5. wb = Workbook()
  6. # 加载一个Excel文件
  7. wb.LoadFromFile("创建Excel.xlsx");
  8. # 获取第一个工作表
  9. sheet = wb.Worksheets[0]
  10. # 获取包含数据的单元格区域
  11. locatedRange = sheet.AllocatedRange
  12. # 遍历其中的行和列
  13. for i in range(len(sheet.Rows)):
  14. for j in range(len(locatedRange.Rows[i].Columns)):
  15. # 获取单元格的数据
  16. print(locatedRange[i + 1, j + 1].Value + " ", end='')
  17. print("")

返回结果:

 

原文链接:https://www.cnblogs.com/Yesi/p/17669867.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号