如何使用python复制和粘贴现有工作簿中的现有工作表?

时间:2016-11-25 08:57:54

标签: python excel

我一直在寻找以下方法:

  1. 打开包含多个工作表的现有工作簿.xlsl

  2. 创建一个新工作表,然后重命名。

  3. 从名为“模板”的现有工作表中复制数据和格式,并将该数据粘贴到以前创建的工作表中。

  4. 有什么办法可以做我需要的吗?

    修改 这是如何做到的方式:

    import openpyxl
    from openpyxl.worksheet.copier import WorksheetCopy
    
    workbook = openpyxl.load_workbook('input.xlsx')
    template_worksheet = workbook.get_sheet_by_name(sheet_name)
    new_worksheet = workbook.create_sheet('New_Sheet_Name')
    instance = WorksheetCopy(template_worksheet, new_worksheet)
    WorksheetCopy.copy_worksheet(instance)
    workbook.save('output.xlsx')
    

4 个答案:

答案 0 :(得分:0)

您必须使用python包执行此任务,我建议您使用openpyxl包。包的基本用法可以在这里找到。

https://openpyxl.readthedocs.io/en/default/usage.html

您基本上会阅读excel并同时编写一个新的Excel,逐行复制数据。

答案 1 :(得分:0)

我认为您可以使用 xlwings

此处您有说明如何打开 Excel文件Opening Workbook

然后悄悄地使用API​​,复制一张表并添加为新表:Sheets-Api

答案 2 :(得分:0)

是否特别需要使用Python作为您的解决方案?使用Visual Basic宏似乎更适合这里。如果它需要适合Python程序,请考虑在Excel文件中构建一个宏,然后从Python脚本中调用该文件。

答案 3 :(得分:0)

虽然这个问题很老了,但希望评论对新人更新还是有用的。

正如Falloutcoder 所提到的,您可以使用openpyxl 模块进行Excel 任务。对于数据复制,您可以使用“for循环”和“ws2.cell(row=i,column=j).value=ws1.cell(row=i,column=j).value”函数从一个复制数据表到另一个。 enter link description here