用xlwt库,有4个WS名字是工资-招商银行,工资-民生商银行,工资-浙商银行,差异,把4个WS存入一个xls中,差异WS写入一个单元格,给另3个WS的F列求和
时间: 2024-05-13 18:17:17 浏览: 174
可以参考以下代码实现:
```python
import xlwt
# 创建一个新的工作簿
wb = xlwt.Workbook()
# 创建4个工作表
ws1 = wb.add_sheet('工资-招商银行')
ws2 = wb.add_sheet('工资-民生商银行')
ws3 = wb.add_sheet('工资-浙商银行')
ws4 = wb.add_sheet('差异')
# 写入数据到工资-招商银行工作表
ws1.write(0, 0, '姓名')
ws1.write(0, 1, '工资')
ws1.write(1, 0, '张三')
ws1.write(1, 1, 5000)
ws1.write(2, 0, '李四')
ws1.write(2, 1, 6000)
# 写入数据到工资-民生商银行工作表
ws2.write(0, 0, '姓名')
ws2.write(0, 1, '工资')
ws2.write(1, 0, '张三')
ws2.write(1, 1, 4500)
ws2.write(2, 0, '李四')
ws2.write(2, 1, 5500)
# 写入数据到工资-浙商银行工作表
ws3.write(0, 0, '姓名')
ws3.write(0, 1, '工资')
ws3.write(1, 0, '张三')
ws3.write(1, 1, 4000)
ws3.write(2, 0, '李四')
ws3.write(2, 1, 5000)
# 计算差异并写入差异工作表
ws4.write(0, 0, '差异')
ws4.write(0, 1, ws1.cell(1, 1).value - ws2.cell(1, 1).value)
ws4.write(1, 0, '')
ws4.write(1, 1, '')
# 计算工资总和并写入工资-招商银行工作表
ws1.write(3, 0, '总和')
ws1.write(3, 1, xlwt.Formula('SUM(F2:F3)'))
# 计算工资总和并写入工资-民生商银行工作表
ws2.write(3, 0, '总和')
ws2.write(3, 1, xlwt.Formula('SUM(F2:F3)'))
# 计算工资总和并写入工资-浙商银行工作表
ws3.write(3, 0, '总和')
ws3.write(3, 1, xlwt.Formula('SUM(F2:F3)'))
# 保存工作簿
wb.save('工资表.xls')
```
这段代码创建了一个名为“工资表.xls”的工作簿,并在其中创建了4个工作表。然后,分别向3个工资工作表中写入数据,并计算出差异,将其写入差异工作表中。最后,使用`xlwt.Formula()`函数计算出每个工资工作表中F列的总和,并将其写入总和单元格中。最后,将工作簿保存到本地。
阅读全文