python - Openpyxl - 将单元格范围(带公式)从工作簿复制到另一个
问题描述
我正在尝试从 Workbook 1 复制特定行并将其附加到 Workbook 2 中的现有数据中。
从Workbook 1复制突出显示的行 ,并将它们附加到Workbook 2的“March”下方
到目前为止,我成功复制并粘贴了范围,但是有两个问题:
1.细胞是移位的
2.百分比(公式)丢失,只留下数值。
import openpyxl as xl
source = r"C:\Users\Desktop\Test_project_20200401.xlsx"
wbs = xl.load_workbook(source)
wbs_sheet = wbs["P2"] #selecting the sheet
destination = r"C:\Users\Desktop\Try999.xlsx"
wbd = xl.load_workbook(destination)
wbd_sheet = wbd["A3"] #select the sheet
row_data = 0
for row in wbs_sheet.iter_rows():
for cell in row:
if cell.value == "Yes":
row_data += cell.row
for row in wbs_sheet.iter_rows(min_row=row_data, min_col = 1, max_col=250, max_row = row_data+1):
wbd_sheet.append((cell.value for cell in row))
wbd.save(destination)
有谁知道我该如何解决这个问题?任何反馈/解决方案都会有所帮助!
谢谢!
解决方案
我认为min_col应该= 0
Range("A1").Formula(在 VBA 中)获取公式。Range("A1").Value(在 VBA 中)获取值。
所以尝试在 Python 中使用 .formula
(感谢: 从单元格中取回公式 - VBA ...如果可行)
推荐阅读
- javascript - 如何在 Node.js 中获取目录项的数量
- macos - 如何在 macOS 上渲染半透明的 MTKView?
- javascript - Javascript - 自动将逗号添加到输入字段
- c++ - 将 dec 转换为二进制、八进制和十六进制问题
- selenium-webdriver - 使用 RobotFramework 将现有的 Chrome 浏览器与远程调试端口一起使用
- javascript - 将数据发布到 php 时出现 500 内部错误
- mysql - 具有两个单独连接的 Mysql 查询
- pdf - 如何在 Unity WebGL 构建中制作 PDF 文件?
- ruby-on-rails - 功能测试rails capybara中的未知格式
- android - Android 9 API 28 FLAG_ACTIVITY_NEW_TASK,真的强制执行了吗?