yxxxzx123 发表于 2024-3-13 14:54:01

PySide6 求教~~

已经通过file_path, file_type = QFileDialog.getOpenFileName(self, "指定首充工作簿", self.File_Path)

      # 获取文件名
      Base_Workbook = os.path.basename(file_path)

指定了首充工作簿,

请问如何完美复制所指定的此工作簿(xls或者xlsx)并重命名为123.xls或123.xlsx?


要求保留原工作簿、所复制的123工作簿保留原数据、保留原样式、原格式?

FishC 发表于 2024-3-13 14:54:22

使用PySide6中的QFileDialog.getOpenFileName方法选择了要复制的工作簿后,可以使用shutil库来实现文件复制的功能。具体步骤如下:

首先,导入shutil库:
import shutil

然后,使用shutil.copyfile方法将文件进行复制:
new_file_name = "123." + file_type.split('.')[-1]
dest_path = os.path.join(self.File_Path, new_file_name)
shutil.copyfile(file_path, dest_path)

这样就完成了对指定工作簿的完美复制,并根据要求重命名为"123.xls"或"123.xlsx",同时保留了原工作簿的数据、样式和格式。

不过需要注意的是,如果你使用的是xls格式的工作簿,在复制时可能会遇到一些问题,因为xls格式是二进制文件,直接复制可能会导致一些问题。建议使用xlsx格式的工作簿进行复制操作。

最后,如果你想要在复制完成后打开新的工作簿,可以使用以下代码:
import subprocess
subprocess.Popen(, shell=True)

希望对你有所帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: PySide6 求教~~