在Access中两种方法实现EXCEL报表输出

来源:转载

摘 要:我们在应用Access报表功能来进行报表打印时,对那些综合性较强的报表往往需要耗费极大的精力来设计,同时,当报表需要放大或缩小时,用Access的报表真是难为开发人员了,这时,用Excel制成报表模板,将Access的数据输出到Excel模版中将不失为一种解决方法,本文利用不同的编程思路予以阐述。

正 文:

方法一:导出数据到Excel报表

1. 在EXCEL模板中利用函数设计好报表(示例文件是”销售报表.xls”),将正式报表(报表1)的函数公式设定好,如:

柏林分公司的销售量:=SUMIF(que销售汇总!$A$1:$A$11,A4,que销售汇总!$B$1:$B$11)

SUMIF函数说明:

根据指定条件对若干单元格求和。

语法

SUMIF(range,criteria,sum_range)

Range 为用于条件判断的单元格区域。

Criteria 为确定哪些单元格将被相加求和的条件,其形式可以为数字、表达式或文本。例如,条件可以表示为 32、"32"、">32" 或 "apples"。

Sum_range 是需要求和的实际单元格。

在这里,是指如果“que销售汇总”工作表的A1:A11区域的值等于“报表1”工作表的A4单元格,则公式所在单元格的值等于“que销售汇总”工作表的B1:B11区域所有满足此条件的单元格值之和。

2. 在Access文件中写代码输入销售分公司汇总的销售数据,代码示例如下:

Function out_Excel()

'方法一,利用Excel函数设置好报表,再导出基础数据到EXCEL报表中

On Error GoTo out_Excel_Err

Dim xlsPath As String

'指定Excel文件的路径

xlsPath = CurrentProject.Path + "\销售报表.xls"

'检测Excel文件是否存在,如果不存在则提醒

If Dir(xlsPath) = "" Then

MsgBox "销售报表.xls文件不存在,请将Excel文件与mdb文件放在同一目录下", vbCritical, "提示"

End

End If

DoCmd.TransferSpreadsheet acExport, 8, "que销售汇总", xlsPath, True, ""

MsgBox "报表数据输出成功!", vbInformation, "恭喜"

out_Excel_Exit:

Exit Function

out_Excel_Err:

MsgBox Error$

Resume out_Excel_Exit

End Function

分享给朋友:
您可能感兴趣的文章:
随机阅读: