powerbuilder 复制sheet到新excel
时间: 2023-05-24 13:07:29 浏览: 170
以下是PowerBuilder代码示例,用于将工作表复制到新的Excel中:
```
OLEObject excel_app // 定义Excel应用程序对象
OLEObject workbook // 定义工作簿对象
OLEObject worksheet // 定义工作表对象
OLEObject dest_workbook // 定义目标工作簿对象
OLEObject dest_worksheet // 定义目标工作表对象
string workbook_name // 工作簿名称
string worksheet_name // 工作表名称
string dest_workbook_name // 目标工作簿名称
string dest_worksheet_name // 目标工作表名称
int row // 当前行号
int column // 当前列号
int dest_row // 目标行号
int dest_column // 目标列号
int num_rows // 行总数
int num_columns // 列总数
int i // 用于循环迭代
// 创建Excel应用程序对象
excel_app = CREATE OLEObject
excel_app.ConnectToNewObject("Excel.Application")
// 打开源工作簿和工作表
workbook_name = "my_source_workbook.xlsx"
worksheet_name = "my_source_worksheet"
workbook = excel_app.Workbooks.Open(workbook_name)
worksheet = workbook.Worksheets.Item(worksheet_name)
// 新建目标工作簿和工作表
dest_workbook_name = "my_dest_workbook.xlsx"
dest_workbook = excel_app.Workbooks.Add()
dest_worksheet_name = "my_dest_worksheet"
dest_worksheet = dest_workbook.Worksheets.Add()
dest_worksheet.Name = dest_worksheet_name
// 拷贝数据到目标工作表
num_rows = worksheet.UsedRange.Rows.Count
num_columns = worksheet.UsedRange.Columns.Count
FOR column = 1 TO num_columns
FOR row = 1 TO num_rows
dest_row = row
dest_column = column
dest_worksheet.Cells(dest_row, dest_column).Value = worksheet.Cells(row, column).Value
NEXT
NEXT
// 保存并关闭工作簿
dest_workbook.SaveAs(dest_workbook_name)
dest_workbook.Close()
workbook.Close()
// 退出Excel应用程序
excel_app.Quit()
DESTROY excel_app
```
请注意,此示例假定您已经了解如何连接到Excel应用程序对象和如何获取工作簿和工作表对象。如果您需要进一步了解如何使用PowerBuilder与Excel交互,请参阅PowerBuilder开发人员手册中有关OLE对象的章节。
阅读全文