oracle制作报表pdf,使用 Oracle Application Express 创建高保真 PDF 报表

本教程向您介绍如何利用两个报表查询创建一个包含一个表和一个图形的 PDF 报表。

大约 1 个小时

一个报表查询可以包含多个查询。这使您能够轻松创建含有多个查询结果的 PDF 文件。在本教程中,您将创建一个含有两个查询的报表查询。报表布局在一个报表布局中放入一个表和一个图形。执行报表时,PDF 文件将在一个文档中包含两个报表。

在本节中,您将创建一个含有多个查询的报表查询。执行以下步骤:

.

输入以下 URL,登录到 Oracle Application Express。http://:8080/apex。要登录 Oracle Application Express,输入以下详细信息,然后单击 Login。

Workspace:Username:

Password:

login2.gif

.

在工作区主页上,单击 Application Builder。

multiquery01.gif

.

选择 Printing Application。

multiquery02.gif

.

单击 Shared Components。

multiquery03.gif

.

在 Reports 下,单击 Report Queries。

multiquery04.gif

.

单击 Create。

multiquery05.gif

.

为 Name 输入 multiquery,然后单击 Next。

multiquery06.gif

.

单击 Query Builder 创建查询。

multiquery07.gif

.

从查询列表中选择 OEHR_EMPLOYEES。

multiquery08.gif

.

选中以下各列前面的复选框,然后单击 Return。

FIRST_NAME

LAST_NAME

EMAIL

HIRE_DATE

JOB_ID

SALARY

multiquery09.gif

.

随即显示该 SQL 查询。单击 Next。

multiquery10.gif

.

您打算再添加一个查询,单击 Add Query。

multiquery11.gif

.

再次单击 Query Builder。

multiquery12.gif

.

选择 OEHR_DEPARTMENTS 和 OEHR_EMPLOYEES。

multiquery13.gif

.

要创建联接条件,将 OEHR_DEPARTMENTS.MANAGER_ID 拖到 OEHR_EMPLOYEES.EMPLOYEE_ID 上。

multiquery14.gif

.

选中以下各列前面的复选框,然后单击 Return。

OEHR_DEPARTMENTS.DEPARTMENT_NAME

OEHR_DEPARTMENTS.MANAGER_ID

OEHR_EMPLOYEES.FIRST_NAME

OEHR_EMPLOYEES.LAST_NAME

OEHR_EMPLOYEES.SALARY

multiquery15.gif

.

单击 Create 创建该查询。

multiquery16.gif

.

现在已定义好了查询。在下一部分中,您将使用 Oracle BI Publisher Desktop 创建报表布局。

multiquery17.gif

在本节中,您将使用 Oracle BI Publisher Desktop 基于多个查询创建一个报表布局。执行以下步骤:

.

在 Report Query 向导的 Source Queries 页面上,单击 Download。

rptlayout00.gif

.

单击 Save,以默认的文件名 multiquery.xml 保存该文件。然后关闭该下载窗口。

rptlayout01.gif

.

打开 Microsoft Word。选择 Oracle BI Publisher > Data > Load Sample XML Data...

rptlayout02.gif

.

从 apex 目录中选择 multiquery.xml,然后单击 Open。

rptlayout03.gif

.

数据加载成功。单击 OK。

rptlayout04.gif

.

选择 Oracle BI Publisher > Insert > Table/Form...

rptlayout05.gif

.

您想在表中显示 Rowset1Row 下的所有列。将 Rowset1 Row 拖放到 Template 区域。

rptlayout06.gif

.

选择 Drop All Nodes。

rptlayout07.gif

.

单击 OK 创建表。

rptlayout08.gif

.

随即显示该表。

rptlayout09.gif

.

调整各列的宽度,添加一个标题。

rptlayout10.gif

.

现在您想利用第二个查询创建一个图表。选择 Oracle BI Publisher > Insert > Chart...

rptlayout26.gif

.

从 Rowset2 Row 下,将 Salary 拖放到 Values 上。

rptlayout12.gif

.

将 Department Name 拖放到 Labels 上。

rptlayout13.gif

.

针对 Type 选择 Pie Chart。向下滚动到 Title 域,输入 Total Salary Percentage by Department。单击 OK。

rptlayout14.gif

.

随即显示该图表。

rptlayout15.gif

.

您需要将您的布局另存为一个 RTF 文件。选择 File > Save As...。对 Save as Type 选择 Rich Text Format (*.rtf),对 File Name 输入 multiquery.rtf,转到 apex 目录以便将文件保存于此,然后单击 Save。

rptlayout16.gif

.

切换回 Application Express,单击 Next。

rptlayout17.gif

.

单击 Browse...,选择您刚才创建的 RTF 文件。从 apex 目录中选择 multiquery.rtf 目录,然后单击 Open。

rptlayout18.gif

.

单击 Next。

rptlayout19.gif

.

为了测试您的报表,首先需要启动 BI Publisher。双击桌面上的 Start BI Publisher 图标。

stbipub.gif

.

单击 Test Report 对报表进行测试。

rptlayout20.gif

.

出现对话框时,单击 Open。

rptlayout21.gif

.

现在,表中填充有数据,向下滚动以查看图表。

rptlayout22.gif

rptlayout23.gif

.

关闭该 PDF 报表。在 Create Shared Query 页面上,单击 Finish。

rptlayout24.gif

.

您已成功创建了报表查询和报表布局。在下一节中,您将在一个页面上创建一个用来调用该报表的按钮。

rptlayout25.gif

在本节中,您将从应用程序的一个页面中调用该报表查询。执行以下步骤:

.

转到 Printing Application 页面。单击 Home 页面。

button01.gif

.

单击 Create Button 图标。

button02.gif

.

选择 Home 区域,单击 Next。

button03.gif

.

接受默认设置,单击 Next。

button04.gif

.

对 Button Name 输入 Print Report,对 Action 选择 Download printable report query,然后单击 Next。

button05.gif

.

接受默认设置,单击 Next。

button06.gif

.

从快速链接列表中选择 [Top],或者从下拉列表中选择 Top of Region,对 Alignment 选择 Left,然后单击 Next。

button07.gif

.

对 Report Query 选择 multiquery,然后单击 Create Button。

button08.gif

.

按钮创建成功。单击 Run。

button09.gif

.

系统可能要求您登录应用程序。输入 obe/obe,然后单击 Login。

button10.gif

.

单击 Print Report。

button11.gif

.

单击 Open 打开该 PDF 报表。

button12.gif

.

随即显示报表。

rptlayout22.gif

rptlayout23.gif

您可以在应用程序中动态地加入图像。在教程的本节中,您将创建可在 PDF 报表中动态添加图像的报表查询和布局。

在本节中,您将更改 OEHR_EMPLOYEES 表,在其中添加 BLOB 列并对该列加载数据。执行以下步骤:

.

打开一个 DOS 命令提示符,执行 addblobdata.sql 脚本。

cd apex

sqlplus obe/obe

@addblobdata

addblobdata.gif

.

要查看 OEHR_EMPLOYEES 表中的数据,输入以下 URL,登录到 Oracle Application Express。

http://localhost:8080/apex

.

选择 Home 区域,然后单击 Next。

button03.gif

.

要登录 Oracle Application Express,请输入以下详细信息,然后单击 Login。

Workspace:Username:

Password:

login2.gif

.

在工作区主页上,单击 SQL Workshop。

sqlwrkshp.gif

.

单击 Object Browser。

objectbrwsr.gif

.

从表的列表中选择 OEHR_EMPLOYEES。

viewemp01.gif

注意,现在列出了额外的 BLOB 列。选择 Data 选项卡。

viewemp02.gif

.

向左滚动,查看员工 101 和 103 的数据。

viewemp03.gif

.

注意,在 FILENAME 和 MIMETYPE 列中出现了数据。

viewemp04.gif

为使您的 PDF 报表包含 BLOB,需要将数据转换为 CLOB base 64 编码格式。您将创建一个函数来执行这一转换。执行以下步骤:

.

从 Components 列表中选择 SQL Scripts。

crfunc01.gif

.

单击 Upload。

crfunc02.gif

.

单击 Browse...,选择 blob2clobase64.sql 文件,然后单击 Open。

crfunc03.gif

.

单击 Upload。

crfunc04.gif

.

单击该脚本的图标。

crfunc05.gif

.

单击 Run。

crfunc06.gif

.

单击 Run 确认。

crfunc07.gif

.

单击 View Results 图标。

crfunc08.gif

.

blob2clobase64 函数创建成功。

crfunc09.gif

在本节中,您将创建一个报表查询和一个报表布局。执行以下步骤:

.

转到 Application Builder。选择 Printing Application。

multiquery02.gif

.

单击 Shared Components。

multiquery03.gif

.

在 Reports 下面,单击 Report Queries。

multiquery04.gif

.

单击 Create。

multiquery05.gif

.

对 Name 输入 blobquery,然后单击 Next。

blobquery01.gif

.

输入以下查询,然后单击 Next。注意,该 SQL 语句调用您在上一节中创建的函数,以将 BLOB 列 PHOTO 转换为 CLOB based 64 编码格式。

select

employee_id,

first_name||' '||last_name name,

filename,

mimetype,

blob2clobase64(photo) photo

from oehr_employees

where photo is not null

blobquery02.gif

.

该查询创建完毕。单击 Next。

blobquery03.gif

.

单击 Browse...,选择 bloblist2.rtf 文件,然后单击 Open。

blobquery04.gif

.

单击 Next。

blobquery05.gif

.

如果尚未启动 BI Publisher,您首先需要启动它。双击桌面上的 Start BI Publisher 图标。

stbipub.gif

.

单击 Test Report。

blobquery06.gif

.

单击 Open。

blobquery07a.gif

.

随即显示该报表。完成对该报表的查看后,关闭该窗口。

blobquery10.gif

.

单击 Finish。

blobquery08.gif

.

您已成功创建了报表查询和报表布局。在下一节中,您将在一个页面上创建一个按钮来运行该报表。选择您的 Application 路径式导航项。

blobquery09.gif

在本节中,您将从应用程序的一个页面中调用该报表查询。执行以下步骤:

.

转到 Printing Application 页面。单击 Home 页面。

button01.gif

.

单击 Create Button 图标。

button13.gif

.

选择 Home 区域,然后单击 Next。

button03.gif

.

接受默认设置,单击 Next。

button04.gif

.

对 Button Name 输入 Print Report with Images,对 Action 选择 Download printable report query,然后单击 Next。

button14.gif

.

接受默认设置,单击 Next。

button15.gif

.

从快速链接列表中选择 [Top],或者从下拉列表中选择 Top of Region,对 Alignment 选择 Left,然后单击 Next。

button16.gif

.

对 Report Query 选择 blobquery,然后单击 Create Button。

button17.gif

.

按钮创建成功。单击 Run。

button09.gif

.

系统可能要求您登录应用程序。输入 obe/obe,然后单击 Login。

button10.gif

.

单击 Print Report With Images。

button18.gif

.

单击 Open 打开该 PDF 报表。

button19.gif

.

随即显示报表。

button20.gif

您可将含有 BLOB 列的报表内容保存于您的数据库中。在教程的本节中,您将创建一个新表来保存生成的报表,然后创建一个包含该表内容的报表。

在本节中,您将上载并运行一个脚本,该脚本创建一个表以保存您生成的报表。执行以下步骤:

.

打开浏览器,输入以下 URL,登录到 Oracle Application Express。

http://localhost:8080/apex

.

要登录 Oracle Application Express,请输入以下详细信息,然后单击 Login。

Workspace:Username:

Password:

login2.gif

.

单击 SQL Workshop 选项卡。然后,单击 SQL Scripts。

sqlscrpt01.gif

.

单击 Upload。

crfunc02.gif

.

单击 Browse...,选择 report_archive_tbl.sql 文件,然后单击 Open。

crfunc03.gif

.

单击 Upload。

rptarchive01.gif

.

单击report_archive_tbl.sql脚本图标。

rptarchive02.gif

.

单击 Run。

rptarchive03.gif

.

单击 Run 确认。

rptarchive04.gif

.

单击 View Results 图标。

rptarchive05.gif

.

report_archive 表创建成功。

rptarchive06.gif

在本节中,您将创建一个过程以将报表保存在数据库中。执行以下步骤:

.

转到 Application Builder。选择 Printing Application。

multiquery02.gif

.

单击 Home 页面。

button01.gif

.

您需要创建一个过程,该过程可将报表保存于数据库中。在 Processes 下面,单击 Create 图标。

rptarchive07.gif

.

选择 PL/SQL,然后单击 Next。

rptarchive08.gif

.

对 Name 输入 store_blobquery_report,然后单击 Next。

rptarchive09.gif

.

在 PL/SQL Page Process 区域输入以下代码,然后单击 Next。

declare

l_report blob;

begin

l_report := apex_util.get_print_document (

p_application_id => :APP_ID,

p_report_query_name => 'blobquery',

p_report_layout_name => 'blobquery',

p_report_layout_type => 'rtf',

p_document_format => 'pdf'

);

insert into report_archive (

filename,

mimetype,

report,

created_date,

created_by

) values (

'BLOB Query Search Results ('||to_char(sysdate,'DDMonYYYY')||')',

'application/pdf',

l_report,

sysdate,

:USER

);

end;

rptarchive10.gif

.

单击 Next。

rptarchive11.gif

.

对 When Button Pressed 选择 PRINT_REPORT_WITH_IMAGES,然后单击 Create Process。

rptarchive12.gif

.

您还想创建一个过程来保存多查询的报表。在 Processes 下面,单击 Create 图标。

rptarchive13.gif

.

选择 PL/SQL,然后单击 Next。

rptarchive08.gif

.

对 Name 输入 store_multiquery_report,然后单击 Next。

rptarchive14.gif

.

在 PL/SQL Page Process 区域输入以下代码,然后单击 Next。

declare

l_report blob;

begin

l_report := apex_util.get_print_document (

p_application_id => :APP_ID,

p_report_query_name => 'multiquery',

p_report_layout_name => 'multiquery',

p_report_layout_type => 'rtf',

p_document_format => 'pdf'

);

insert into report_archive (

filename,

mimetype,

report,

created_date,

created_by

) values (

'Multi Query Search Results ('||to_char(sysdate,'DDMonYYYY')||')',

'application/pdf',

l_report,

sysdate,

:USER

);

end;

rptarchive15.gif

.

单击 Next。

rptarchive16.gif

.

对 When Button Pressed 选择 PRINT_REPORT,然后单击 Create Process。

rptarchive17.gif

.

单击 Run。

rptarchive18.gif

.

单击 Print Report With Images。出现打开或保存报表的对话框时,您可以单击 Cancel。

rptarchive19.gif

.

单击 Print Report。出现打开或保存报表的对话框时,您可以单击 Cancel。

rptarchive24.gif

注意:对于您所运行的每个报表,都有两行插入到数据库中。

在本节中,您将创建了一个报表,该报表包含数据库中 report_archive 表的数据。执行以下步骤:

.

转到 Printing Application 页面。单击 Home 页面。

button01.gif

.

在 Regions 下面,单击 Create 图标。

accessrpt01.gif

.

选择 Report,然后单击 Next。

accessrpt02.gif

.

确保选中 SQL Report,然后单击 Next。

accessrpt03.gif

.

对 Title 输入 List of Stored Reports,然后单击 Next。

accessrpt04.gif

.

在 SQL Query 区域中输入以下 SQL,然后单击 Create Region。

SELECT id,

filename,

mimetype,

created_date,

created_by,

dbms_lob.getlength(report) report_length

FROM report_archive

accessrpt05.gif

.

报表创建完毕。您需要对 Report Attributes 作一些更改。在 Regions 下面,选择 Report 链接。

accessrpt06.gif

.

在 Headings Type 下面,单击 Custom。将 Report Length 的标题名称更改为 Report。取消选中 MIMETYPE 的 Show 复选框。您还想在 Report Length 列中创建一个链接来下载该报表。选择 Report Length 的编辑图标。

accessrpt07.gif

.

在 Column Formatting 下面的 Number / Date Format 域中输入以下字符串,然后单击 Apply Changes。

DOWNLOAD:REPORT_ARCHIVE:REPORT:ID::MIMETYPE:FILENAME:::inline:[Download]

注意,该字符串包含以下参数:

::::::::::

accessrpt09.gif

.

单击 Run Page。

accessrpt10.gif

.

这里列出了在上一节中运行的报表。要查看一个报表,单击 [Download] 链接。

accessrpt11.gif

.

成功显示出报表。

accessrpt12.gif

您可以创建多个报表布局以供最终用户执行报表时选择使用。在本节中,您将创建两个报表布局。您会在应用程序的一个页面中创建一个可用报表布局单选按钮组。在执行该页面时,可选择生成报表时要使用的布局。

在本节中,您将创建多个报表布局。执行以下步骤:

.

打开浏览器,输入以下 URL,登录到 Oracle Application Express。

.http://localhost:8080/apex

.

要登录 Oracle Application Express,请输入以下详细信息,然后单击 Login。

Workspace:Username:

Password:

login2.gif

.

在工作区主页上,单击 Application Builder。

multiquery01.gif

.

选择 Printing Application。

multiquery02.gif

.

单击 Shared Components。

multiquery03.gif

.

在 Reports 下面,单击 Report Layouts。

rptlayout400.gif

.

单击 Create。

rptlayout401.gif

.

选择 Named Columns (RTF),然后单击 Next。

rptlayout402.gif

.

对 Name 输入 DynamicLayout1,然后单击 Browse...

rptlayout403.gif

.

从 apex 目录中选择 Dynamic_Layout1.rtf,然后单击 Open。

.

单击 Create Layout。

rptlayout405.gif

.

您想创建另一个报表布局。单击 Create。

rptlayout406.gif

.

选择 Named Columns (RTF),然后单击 Next。

rptlayout402.gif

.

对 Name 输入 DynamicLayout2,然后单击 Browse...

rptlayout407.gif

.

从 apex 目录中选择 Dynamic_Layout2.rtf,然后单击 Open。

.

单击 Create Layout。

rptlayout409.gif

.

您还需要创建一个报表查询,报表布局将基于该报表查询。选择 Shared Components 路径式导航项。

rptlayout410.gif

.

在 Reports 下,选择 Report Queries。

rptlayout411a.gif

.

单击 Create。

rptlayout412.gif

.

对 Name 输入 DynamicQuery,然后单击 Next。

rptlayout413.gif

.

输入以下查询,然后单击 Next。

SELECT first_name,

last_name,

email,

hire_date, salary

FROM oehr_employees

rptlayout415.gif

.

单击 Next。

rptlayout416.gif

.

对 Report Layout Source 选择 Use generic report layout,然后单击 Next。

rptlayout417.gif

.

单击 Finish。

rptlayout418.gif

.

报表查询创建成功。在下一节中,您将创建一些选项来供用户选择以动态生成报表。

rptlayout419.gif

在本节中,您将创建多个选择条件项。执行以下步骤:

.

转到 Printing Application 页面。选择 Home 页面。

dyn01.gif

.

在 Regions 下面,选择 Create 图标。

dyn02.gif

.

选择 HTML,然后单击 Next。

dyn03.gif

.

再次选择 HTML,然后单击 Next。

dyn04.gif

.

对 Title 输入 Dynamic Report Generation,然后单击 Next。

dyn05.gif

.

您现在需要创建一些选择条件项以用于生成报表。第一个项是一个隐藏的受保护项,用于保存报表查询。在 Items 下面,单击 Create 图标。

dyn06.gif

.

对 Item Type 选择 Hidden,然后单击 Next。

dyn07.gif

.

选择 Hidden and Protected,然后单击 Next。

dyn08.gif

.

对 Item Name 输入 P1_REPORT_QUERY,对 Region 选择 Dynamic Report Generation,然后单击 Next。

dyn09.gif

.

单击 Next。

dyn10.gif

.

对 Item Source Query 输入 DynamicQuery,然后单击 Create Item。

dyn11.gif

.

要创建的下一项是选择列表,用户可通过该列表来选择报表的显示方式:是在浏览器中显示还是作为可在 Acrobat Reader 中显示的附加文件来显示。在 Items 下面,单击 Create 图标。

dyn12.gif

.

对 Item Type 选择 Select List,然后单击 Next。

dyn13.gif

.

再次选择 Select List,然后单击 Next。

dyn14.gif

.

对 Item Name 输入 P1_CONTENT_DISP,对 Region 选择 Dynamic Report Generation,然后单击 Next。

dyn15.gif

.

对 Display Null Option 选择 No,然后选择 Create or edit static List of Values。

dyn16.gif

.

输入下列值,单击 Apply。

Display Value

Return Value

In Browser

Inline

Save / Open in separate Window

attachment

dyn17.gif

.

单击 Next。

dyn18.gif

.

对 Label 输入 Display,然后单击 Next。

dyn19.gif

.

单击 Create Item。

dyn20.gif

.

要创建的最后一项是一个单选按钮组,用于显示一组报表布局以供选择。在 Items 下面,选择 Create 图标。

dyn21.gif

.

选择 Radio,然后单击 Next。

dyn22.gif

.

选择 Radio Group,然后单击 Next。

dyn23.gif

.

对 Item Name 输入 P1_REPORT_LAYOUT,对 Region 选择 Dynamic Report Generation,然后单击 Next。

dyn24.gif

.

对 Display Null Option 选择 No,然后选择 Create or edit static List of Values。

dyn25.gif

.

输入以下值,然后单击 Apply。

Display Value

Return Value

Dynamic Layout 1

DynamicLayout1

Dynamic Layout 2

DynamicLayout2

dyn26.gif

.

单击 Next。

dyn27.gif

.

接受默认设置,单击 Next。

dyn28.gif

.

对 Default 输入 DynamicLayout1,然后单击 Create Item。

dyn29.gif

.

您现在需要创建一个按钮,通过该按钮可调用一个过程以生成报表(在创建该按钮后再创建该过程)。在 Buttons 下,单击 Create 图标。

dyn30.gif

.

选择 Dynamic Report Generation 区域,然后单击 Next。

dyn31.gif

.

接受默认设置,单击 Next。

dyn32.gif

.

对 Button Name 输入 Print,然后单击 Next。

dyn33.gif

.

接受默认设置,单击 Next。

dyn34.gif

.

从快速链接列表中选择 [Top],或者从下拉列表中选择 Top of Region,对 Alignment 选择 Left,然后单击 Next。

dyn35.gif

.

单击 Create Button。

dyn36.gif

.

您要创建的最后一个组件就是前面提到的那个过程,单击 Print 按钮时会调用该过程以生成报表。在 Processes 下面,单击 Create 图标。

dyn37.gif

.

选择 PL/SQL 并单击 Next。

dyn38.gif

.

对 Name 输入 print,然后单击 Next。

dyn39.gif

.

输入以下代码,然后单击 Next。注意,此代码执行 download_print_document API 来生成报表。生成报表时,将根据用户为该页面上各项所指定的值来生成。

apex_util.download_print_document (p_file_name => 'myreport123',

p_content_disposition => :P1_CONTENT_DISP,

p_application_id => :APP_ID,

p_report_query_name => :P1_REPORT_QUERY,

p_report_layout_name => :P1_REPORT_LAYOUT,

p_report_layout_type => 'rtf',

p_document_format => 'pdf'

);

dyn40.gif

.

单击 Next。

dyn41.gif

.

对 When Button Pressed 选择 Print,然后单击 Create Process。

dyn42.gif

在下一节中,您将运行页面并生成报表。

在本节中,您将运行页面以生成报表。执行以下步骤:

.

单击 Run。

dynrun01.gif

.

选择 Save / Open in Separate Window,然后单击 Print。

dynrun02.gif

.

报表已生成。单击 Open 查看该报表。

dynrun03.gif

.

此时以 Dynamic Layout 1 布局显示报表。关闭该报表。

dynrun04.gif

.

对 Display 选择 In Browser,选择 Dynamic Layout 2,然后单击 Print。

dynrun05.gif

.

这次是在浏览器中以 Dynamic Layout 2 布局显示您的报表。

dynrun06.gif

通过此教程,您学会了怎样:

创建具有多个查询的报表查询

使用 Oracle BI Publisher Desktop 创建报表布局

从应用程序页面调用报表

添加并加载 BLOB 列

创建一个执行 BLOB 到 CLOB based 64 编码格式转换的函数

创建报表查询和布局

从应用程序页面调用报表

创建数据库表以保存报表

生成报表并将其保存到数据库中

访问数据库中保存的报表

divider.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Python可以轻松地从Oracle数据库中读取数据并生成报表。以下是一些常用的Python库和步骤: 1. 安装必要的Python库:cx_Oracle、pandas、openpyxl等。 2. 连接到Oracle数据库,可以使用cx_Oracle库连接到Oracle数据库。 3. 通过SQL查询从Oracle数据库中获取数据,使用pandas库可以将查询结果转换为DataFrame对象。 4. 使用openpyxl等库将数据写入Excel文件中。 以下是一个示例代码,用于从Oracle数据库中获取数据并将其写入Excel文件中: ```python import cx_Oracle import pandas as pd from openpyxl import Workbook # 连接Oracle数据库 conn = cx_Oracle.connect('username/password@host:port/service_name') # SQL查询语句 sql = 'SELECT * FROM table_name' # 获取查询结果并转换为DataFrame对象 df = pd.read_sql(sql, conn) # 创建Excel文件 wb = Workbook() # 选择第一个工作表 ws = wb.active # 将DataFrame对象写入Excel文件中 for r in dataframe_to_rows(df, index=False, header=True): ws.append(r) # 保存Excel文件 wb.save('report.xlsx') # 关闭数据库连接 conn.close() ``` 以上代码中,需要替换的部分包括: - `username`和`password`:Oracle数据库的用户名和密码 - `host`:Oracle数据库的主机名或IP地址 - `port`:Oracle数据库的端口号 - `service_name`:Oracle数据库的服务名称 - `table_name`:需要查询的表名 - `report.xlsx`:生成的Excel文件名 当然,如果你需要生成其他格式的报表,可以使用不同的Python库来实现。例如,使用matplotlib库可以生成图表,使用reportlab库可以生成PDF报表等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值