数据库陈宁
A. java 做打印能指定哪台打印机打印哪个文件吗
有
JasperReports与iReport 简介
简介 JasperReports是一款开源的报表打印组件,是开源代码组织sf.net中的一个java报表打印工程,可以以PDF, HTML或XML等多种形式产生报表,支持分页打印,并且可以制作各种类型的图表。Jasperreport是按照一个预定义的xml文档来组织报表的数据,这些数据来源多样,包括关系数据库(通过配置JDBC连接)、java容器对象(collection和arrays)。要完成报表的填充,必须先完成用于报表的xml文件,其过程是先产生报表设计对象,再序列化该对象,存储在磁盘或者网络,用于产生特定应用的表格数据。事实上,表单的设计过程就是用定义于xml文件中的java表达式来表现报表的设计。编辑过程中会有各种保证数据一致性的验证,最终会产生相关数据文档或填充数据的准备。 iReport也是开源组织sf.net中的一款免费软件,其主要作用是以可视化的方式升级生成JasperReport所使用的报表格式文件,因为JasperReport本身没有提供很好的可视化报表设计工具,iReport正好弥补了这个缺陷,因此我们常常将这两个工具结合起来使用。 JasperReports可以在这个地址得到: http://jasperreports.sourceforge.net/ iReport 可以在这个地址得到: http://ireport.sourceforge.net/ iReport的使用 iReport的安装 安装iReport首先需要在本机安装JDK,并对环境进行配置,最新版的JDK可以从http://www.sun.com 处下载并安装,然后配置windows环境变量,在path后面加入“;java的安装目录”,新建环境变量 JAVA_HOME :“java的安装目录” CLASSPATH:“java的安装目录\bin” 如果已经安装过JDK,则可以跳过这些步骤。然后从iReport的站点下载最新的版本的iReport,解压iReport在任意目录,解压后的文件里面有一个iReport.bat,通过双击,过大约30秒钟如果可以弹出iReport的主窗体即表明你的系统已经可以运行iReport了,如果不能弹出主窗体,一般是因为JDK没有正确被安装。在iReport中配置数据库使用iReport的第一步是配置数据库连接,选择菜单“资料来源/连接资料来源”,打开如下的对话框, 点击“New”,打开如下对话框,可以创建数据连接, 我们以创建JDBC数据源为例,在“Type of connection / datasource”列表中,选择“Database.JDBC.connection”,在“Name”中,为创建的新的连接取一个需要的名字,在JDBC Driver中,选择一个驱动,我们以Oracle为例,选择“oracle.jdbc.driver.OracleDriver”,在JDBC URL中输入JDBC连接,例如:“jdbc:oracle:thin:@localhost:1521:TANGO”,同时请在Username和Password中输入连接数据库的用户和密码。注意一点OracleJDBC的包必须在环境变量的CLASS_PATH中配置。全都创建好后,点击“Test”可以进行对数据库连接的测试。建立连接后,就可以对数据表进行查询,选择菜单“资料来源/报表查询”,打开如下对话框: 在“Report sql query”页中,可以输入任意的sql数据来得到数据,当输完完整的sql语句后,iReport自动将所有字段列表列出,这些字段就是可以在报表制作过程中可以使用的变量。另外需要注意的是:当我们创建了多个数据源的时候,需要设定一个当前的数据源,选择菜单:“设定/设置当前数据源”,打开如下对话框: 可以在所有建立的数据源中设置当前使用的数据源。从java容器获得数据通过JDBC获得数据非常方便,但我们通常不会在设计期就确定完整的sql语句,通常我们在运行期都需要构造一些动态的sql,当然,我们可以通过编程的方式来构造sql并传递给iReport,但是复杂的sql语句不便于维护,也容易出错。JasperReports允许从java容器中获得数据,首先告诉iReport,java容器类的路径,选择菜单:“工具/classpath”,如图: 设置完路径后,再次选择菜单“资料来源/报表查询”,到“JavaBean Datasource”页,在Class Name中输入容器类的全路径,如下图: 点击“Read javabeans attributes”,容器中的字段就全部被读取了出来。至此为止,我们已经可以开始制作报表了。开始使用iReport iReport的开发界面和我们熟悉的delphi着名插件quickreport比较相似,整个页面由若干个band组成,每个band实现不同的显示方式。界面如下: 新建报表单击工具栏的第一个按钮“New Report”,或者通过菜单“报表/新增”进入创建报表菜单,如下图: 在报表名称栏内给创建的报表取个名字,然后是定义纸张的大小,iReport提供了多种预设尺寸,当然也可以选择自定义的页面尺寸,并提供两种定位方式,也即横向和竖向。在对话框的下半页,还可以设置页边距,列等等。当都设置完成,点击“OK”,完成新建动作。报表结构创建了一个新的报表后,我们来看看报表的结构。一个报表的结构大致是几个部分:title、pageHeader、columnHeader、detial、columnFooter、pageFooter、summary、groupHeader、groupfooter。 Title:每个报表一般会有一个名字,比如×××销售报表,title就是搁置这个名称的最好地方了,当然你也可以根据需要搁置在合适的地方。 pageHeader:报表的一些公共要素,比如页码、创建时间、创建人等信息放置在这里是比较好的选择。在每页头都会打印一遍 columnHeader:这里是放置列的名称,记住不是列数据。 Detial:放置需要循环的数据,比如销售记录数据。 columnFooter:放置列级别的统计计算值或是列的说明。 pageFooter:放置页级别的统计值或是页的说明。 Summary:可能需要对几页(你的报表可能有几个页组成)的统计值。比如50个销售记录共占用了3页,那么放置这些统计记录的统计值最好的地方就是summary。 groupHeader:每个表的内容可能需要根据某个属性进行划分显示内容和计算内容,比如希望以月份为单位每组分开显示销售记录,那么就可以定义一个组(组的定义参考后文),groupHeader就是放置组说明或是组标志最好的地方。 Groupfooter:放置组的统计或是说明。报表的动态对象变量、参数、字段在使用iReport的过程中会碰到很多与变量(Variables)、参数(Parameters)、字段(Fields)这些有关的内容,所以我们还是要先介绍这些对象的使用和意义:字段(Fields):来自数据库,或是java容器对象。这些内容是报表显示的主体内容,语法为$F{ filedsName }。参数(Parameters):这是你的应用需要提供给报表的入口,比如你希望在报表被解释的时候提供Where语句的条件值,那么就可以使用参数(Parameters)。语法为$P{ parameterName },可以给报表提供多个参数,通过一个HashMap传入。使用参数前,参数必须在iReport中进行配置,如,我们需要在打印时得到打印操作人,我们创建一个参数打印人:printOperator。选择菜单“预览——报表参数”,打开如下对话框: 在参数页面,点击“新增”按钮,继续打开如下新增参数对话框: 在“Parameter name”内,填入参数名称:“printOperator”,在“Paramenter class type”选择框中,选择参数的类型,我们这里选择“java.lang.String”,在“Default value expression”中填入当传入的值缺失时的缺省值,因为iReport是纯java语言开发,因此支持任何java语句。在“Paramenter description”中可以对该参数进行一些描述。点击“OK”完成参数的创建。下面给出简单的程序调用实例: HashMap map = new HashMap(); Map.put(“printOperator”,”陈宁”); JasperFillManager.fillReport(jasperReport,map,ds); 变量(Variables):这是报表中一些逻辑运算的表现,比如统计值(求和,最大值,最小值等等)。语法为$V{ variablesName },例如我们要对定单金额进行求和,假设定单金额的数据库字段为amt,我们现在创建变量名为totalAmt的对定单金额进行汇总的变量,点击菜单“预览/报表变量”,打开如下对话框: 我们看到iReport已经为我们预先定义了五个有用的变量,供我们使用,具体含义如下: • $V{REPORT_COUNT}: 报表处理的记录笔数 • $V{PAGE_NUMBER}: 打印时的页码 • $V{PAGE_COUNT}: 本页处理的记录笔数 • $V{COLUMN_NUMBER}: 报表的直栏数目 • $V{COLUMN_COUNT}: 本栏的处理笔数 • $V{群组名_COUNT}: 群组Band的处理笔数,建立群组时会自动产生的变量其中最后一个变量是根据分组情况自动生成的。我们现在新增一个自己定义的变量,点击“新增”,打开新增变量对话框: 在“Variable name”中,输入变量名:“totalAmt”,在“variable class type”中选择变量的类型“java.math.BigDecimal”,在“Calculation type”中选择计算的类型,这里是求和“Sum”,在“Variable expression”中输入变量的表达式,我们这里是取数据库中的字段amt,所以写成“$F{amt}”,请注意。当我们正确的配置了数据来源后,当我们输入的表达式正确,那么显示的颜色是绿色的的,当不能正确写对表达式的时候,是如图所示的蓝色。然后我们在“initial value expression”中输入初始化的值,这里同样输入java语句:“new java.math.BigDecimal(0)”。点击“OK”,完成参数的设置。在报表页面放置元素 iReport的工具栏提供了丰富的元素,从简单的内容到包括图形,分组报表都支持。我们主要介绍两类,一类为静态文本,一类为动态文本。这两个工具按钮如下: 点击“T”的工具按钮,打开添加“静态文本”的对话框。 他的用法比较简单,有一些计算机使用经验的人都能看懂,就不在这里介绍了。这里只说一点:要显示的内容是在Static Text页面中输入,在Print when expression中,可以接受返回类型为Boolean的java表达式,当返回Boolean.TRUE,才会打印该静态文本,当返回为Boolean.FALSE则不打印,在本文后面会介绍利用这个特性打印黑白交替的行显示效果。我们再看看动态文本,点击“F”,打开如下对话框: 动态与静态文本大致类似,动态文本在“Text Field”中接受表达式,在“Textfield expression”中,输入动态表达式“$F{s_data_1}”,如图,绿色代表输入正确。在Pattern中,还可以输入数据显示的格式。制作报表有了上面的基本知识,我们就可以开始制作报表了。我在制作报表中,考虑了以下的思路。首先,取数据通过java容器,而不是直接连接数据库,这是因为我们制作的报表通常都比较复杂,很难直接通过一个简单的sql语句来实现,就算我们可以写一个复杂的select语句来实现一个报表的查询,但是对于以后的维护和排错也是相当困难的,因此不建议这样的做法。从另一个角度考虑,报表的很多查询条件是根据用户的输入来动态的创建的,我们在后台对数据进行整理和加工都会使程序的调试和实现变得简单。我创建了数据容器类:ReportBaseObject,非常简单,部分代码如下: public class ReportBaseObject { private String s_data_1; private String s_data_2; private String s_data_3; …… private String s_data_20; private BigDecimal b_data_1; private BigDecimal b_data_2; private BigDecimal b_data_3; …… private BigDecimal b_data_20; private Date d_data_1;
B. JAVA里面有没有组件可以直接连接打印机打印数据
有
JasperReports与iReport 简介
简介 JasperReports是一款开源的报表打印组件,是开源代码组织sf.net中的一个java报表打印工程,可以以PDF, HTML或XML等多种形式产生报表,支持分页打印,并且可以制作各种类型的图表。Jasperreport是按照一个预定义的xml文档来组织报表的数据,这些数据来源多样,包括关系数据库(通过配置JDBC连接)、java容器对象(collection和arrays)。要完成报表的填充,必须先完成用于报表的xml文件,其过程是先产生报表设计对象,再序列化该对象,存储在磁盘或者网络,用于产生特定应用的表格数据。事实上,表单的设计过程就是用定义于xml文件中的java表达式来表现报表的设计。编辑过程中会有各种保证数据一致性的验证,最终会产生相关数据文档或填充数据的准备。 iReport也是开源组织sf.net中的一款免费软件,其主要作用是以可视化的方式升级生成JasperReport所使用的报表格式文件,因为JasperReport本身没有提供很好的可视化报表设计工具,iReport正好弥补了这个缺陷,因此我们常常将这两个工具结合起来使用。 JasperReports可以在这个地址得到: http://jasperreports.sourceforge.net/ iReport 可以在这个地址得到: http://ireport.sourceforge.net/ iReport的使用 iReport的安装 安装iReport首先需要在本机安装JDK,并对环境进行配置,最新版的JDK可以从http://www.sun.com 处下载并安装,然后配置windows环境变量,在path后面加入“;java的安装目录”,新建环境变量 JAVA_HOME :“java的安装目录” CLASSPATH:“java的安装目录\bin” 如果已经安装过JDK,则可以跳过这些步骤。然后从iReport的站点下载最新的版本的iReport,解压iReport在任意目录,解压后的文件里面有一个iReport.bat,通过双击,过大约30秒钟如果可以弹出iReport的主窗体即表明你的系统已经可以运行iReport了,如果不能弹出主窗体,一般是因为JDK没有正确被安装。在iReport中配置数据库使用iReport的第一步是配置数据库连接,选择菜单“资料来源/连接资料来源”,打开如下的对话框, 点击“New”,打开如下对话框,可以创建数据连接, 我们以创建JDBC数据源为例,在“Type of connection / datasource”列表中,选择“Database.JDBC.connection”,在“Name”中,为创建的新的连接取一个需要的名字,在JDBC Driver中,选择一个驱动,我们以Oracle为例,选择“oracle.jdbc.driver.OracleDriver”,在JDBC URL中输入JDBC连接,例如:“jdbc:oracle:thin:@localhost:1521:TANGO”,同时请在Username和Password中输入连接数据库的用户和密码。注意一点OracleJDBC的包必须在环境变量的CLASS_PATH中配置。全都创建好后,点击“Test”可以进行对数据库连接的测试。建立连接后,就可以对数据表进行查询,选择菜单“资料来源/报表查询”,打开如下对话框: 在“Report SQL query”页中,可以输入任意的sql数据来得到数据,当输完完整的sql语句后,iReport自动将所有字段列表列出,这些字段就是可以在报表制作过程中可以使用的变量。另外需要注意的是:当我们创建了多个数据源的时候,需要设定一个当前的数据源,选择菜单:“设定/设置当前数据源”,打开如下对话框: 可以在所有建立的数据源中设置当前使用的数据源。从java容器获得数据通过JDBC获得数据非常方便,但我们通常不会在设计期就确定完整的sql语句,通常我们在运行期都需要构造一些动态的sql,当然,我们可以通过编程的方式来构造sql并传递给iReport,但是复杂的sql语句不便于维护,也容易出错。JasperReports允许从java容器中获得数据,首先告诉iReport,java容器类的路径,选择菜单:“工具/classpath”,如图: 设置完路径后,再次选择菜单“资料来源/报表查询”,到“JavaBean Datasource”页,在Class Name中输入容器类的全路径,如下图: 点击“Read javabeans attributes”,容器中的字段就全部被读取了出来。至此为止,我们已经可以开始制作报表了。开始使用iReport iReport的开发界面和我们熟悉的delphi着名插件quickreport比较相似,整个页面由若干个band组成,每个band实现不同的显示方式。界面如下: 新建报表单击工具栏的第一个按钮“New Report”,或者通过菜单“报表/新增”进入创建报表菜单,如下图: 在报表名称栏内给创建的报表取个名字,然后是定义纸张的大小,iReport提供了多种预设尺寸,当然也可以选择自定义的页面尺寸,并提供两种定位方式,也即横向和竖向。在对话框的下半页,还可以设置页边距,列等等。当都设置完成,点击“OK”,完成新建动作。报表结构创建了一个新的报表后,我们来看看报表的结构。一个报表的结构大致是几个部分:title、pageHeader、columnHeader、detial、columnFooter、pageFooter、summary、groupHeader、groupfooter。 Title:每个报表一般会有一个名字,比如×××销售报表,title就是搁置这个名称的最好地方了,当然你也可以根据需要搁置在合适的地方。 pageHeader:报表的一些公共要素,比如页码、创建时间、创建人等信息放置在这里是比较好的选择。在每页头都会打印一遍 columnHeader:这里是放置列的名称,记住不是列数据。 Detial:放置需要循环的数据,比如销售记录数据。 columnFooter:放置列级别的统计计算值或是列的说明。 pageFooter:放置页级别的统计值或是页的说明。 Summary:可能需要对几页(你的报表可能有几个页组成)的统计值。比如50个销售记录共占用了3页,那么放置这些统计记录的统计值最好的地方就是summary。 groupHeader:每个表的内容可能需要根据某个属性进行划分显示内容和计算内容,比如希望以月份为单位每组分开显示销售记录,那么就可以定义一个组(组的定义参考后文),groupHeader就是放置组说明或是组标志最好的地方。 Groupfooter:放置组的统计或是说明。报表的动态对象变量、参数、字段在使用iReport的过程中会碰到很多与变量(Variables)、参数(Parameters)、字段(Fields)这些有关的内容,所以我们还是要先介绍这些对象的使用和意义:字段(Fields):来自数据库,或是java容器对象。这些内容是报表显示的主体内容,语法为$F{ filedsName }。参数(Parameters):这是你的应用需要提供给报表的入口,比如你希望在报表被解释的时候提供Where语句的条件值,那么就可以使用参数(Parameters)。语法为$P{ parameterName },可以给报表提供多个参数,通过一个HashMap传入。使用参数前,参数必须在iReport中进行配置,如,我们需要在打印时得到打印操作人,我们创建一个参数打印人:printOperator。选择菜单“预览——报表参数”,打开如下对话框: 在参数页面,点击“新增”按钮,继续打开如下新增参数对话框: 在“Parameter name”内,填入参数名称:“printOperator”,在“Paramenter class type”选择框中,选择参数的类型,我们这里选择“java.lang.String”,在“Default value expression”中填入当传入的值缺失时的缺省值,因为iReport是纯java语言开发,因此支持任何java语句。在“Paramenter description”中可以对该参数进行一些描述。点击“OK”完成参数的创建。下面给出简单的程序调用实例: HashMap map = new HashMap(); Map.put(“printOperator”,”陈宁”); JasperFillManager.fillReport(jasperReport,map,ds); 变量(Variables):这是报表中一些逻辑运算的表现,比如统计值(求和,最大值,最小值等等)。语法为$V{ variablesName },例如我们要对定单金额进行求和,假设定单金额的数据库字段为amt,我们现在创建变量名为totalAmt的对定单金额进行汇总的变量,点击菜单“预览/报表变量”,打开如下对话框: 我们看到iReport已经为我们预先定义了五个有用的变量,供我们使用,具体含义如下: • $V{REPORT_COUNT}: 报表处理的记录笔数 • $V{PAGE_NUMBER}: 打印时的页码 • $V{PAGE_COUNT}: 本页处理的记录笔数 • $V{COLUMN_NUMBER}: 报表的直栏数目 • $V{COLUMN_COUNT}: 本栏的处理笔数 • $V{群组名_COUNT}: 群组Band的处理笔数,建立群组时会自动产生的变量其中最后一个变量是根据分组情况自动生成的。我们现在新增一个自己定义的变量,点击“新增”,打开新增变量对话框: 在“Variable name”中,输入变量名:“totalAmt”,在“variable class type”中选择变量的类型“java.math.BigDecimal”,在“Calculation type”中选择计算的类型,这里是求和“Sum”,在“Variable expression”中输入变量的表达式,我们这里是取数据库中的字段amt,所以写成“$F{amt}”,请注意。当我们正确的配置了数据来源后,当我们输入的表达式正确,那么显示的颜色是绿色的的,当不能正确写对表达式的时候,是如图所示的蓝色。然后我们在“initial value expression”中输入初始化的值,这里同样输入java语句:“new java.math.BigDecimal(0)”。点击“OK”,完成参数的设置。在报表页面放置元素 iReport的工具栏提供了丰富的元素,从简单的内容到包括图形,分组报表都支持。我们主要介绍两类,一类为静态文本,一类为动态文本。这两个工具按钮如下: 点击“T”的工具按钮,打开添加“静态文本”的对话框。 他的用法比较简单,有一些计算机使用经验的人都能看懂,就不在这里介绍了。这里只说一点:要显示的内容是在Static Text页面中输入,在Print when expression中,可以接受返回类型为Boolean的java表达式,当返回Boolean.TRUE,才会打印该静态文本,当返回为Boolean.FALSE则不打印,在本文后面会介绍利用这个特性打印黑白交替的行显示效果。我们再看看动态文本,点击“F”,打开如下对话框: 动态与静态文本大致类似,动态文本在“Text Field”中接受表达式,在“Textfield expression”中,输入动态表达式“$F{s_data_1}”,如图,绿色代表输入正确。在Pattern中,还可以输入数据显示的格式。制作报表有了上面的基本知识,我们就可以开始制作报表了。我在制作报表中,考虑了以下的思路。首先,取数据通过java容器,而不是直接连接数据库,这是因为我们制作的报表通常都比较复杂,很难直接通过一个简单的sql语句来实现,就算我们可以写一个复杂的select语句来实现一个报表的查询,但是对于以后的维护和排错也是相当困难的,因此不建议这样的做法。从另一个角度考虑,报表的很多查询条件是根据用户的输入来动态的创建的,我们在后台对数据进行整理和加工都会使程序的调试和实现变得简单。我创建了数据容器类:ReportBaseObject,非常简单,部分代码如下: public class ReportBaseObject { private String s_data_1; private String s_data_2; private String s_data_3; …… private String s_data_20; private BigDecimal b_data_1; private BigDecimal b_data_2; private BigDecimal b_data_3; …… private BigDecimal b_data_20; private Date d_data_1; private Date d_data_2; private Date d_data_3; …… private Date d_data_10; private Integer i_data_1; …… private Integer i_data_10; public BigDecimal getB_data_1() { return b_data_1; } public void setB_data_1(BigDecimal b_data_1) { this.b_data_1 = b_data_1; } …… public Date getD_data_1() { return d_data_1; } public void setD_data_1(Date d_data_1) { this.d_data_1 = d_data_1; } …… public Integer getI_data_1() { return i_data_1; } public void setI_data_1(Integer i_data_1) { this.i_data_1 = i_data_1; } …… public String getS_data_1() { return s_data_1; } public void setS_data_1(String s_data_1) { this.s_data_1 = s_data_1; } …… } 这是一个通用的数据容器,容器中定义了20个字符类型的字段,20个数字类型的字段,10个日期和10个整型,这个容器对于任何报表都适合,这样做是基于以下考虑。我把报表制作分为两个部分,第一部分是用iReport制作报表界面,第二部分在后台根据用户传入条件取得报表需要的数据。而第一部分可以由项目人员在现场制作后后期进行修改,而第二部分由开发人员完成,因此要求这两部分的工作可以分离,通过提供一个通用对象,我们可以实现这一目的。工程人员在现场和客户洽谈需求,并在没有数据的情况下,开始制作报表界面,他们所要做的就是用一张表格列出他们需要的数据的含义:如: baseObject 对应字段 说明 报表编号:01_001 S_data_1 单号 S_data_2 单据类型 D_data_1 要货日期 D_data_2 批准时间 B_data_1 应付金额 B_data_2 已付金额 在与用户确认了界面后,工程人员将表格传递给开发人员,开发人员就根据表格所标注的字段意义给容器填写数据。以下是我画的报表截图: 显示不同的背景如下图所示,我们希望打印出灰白相间的行效果,可以利用上文提到的“print when expresssion”属性来实现,具体做法有两种: 在同一列上放相同字段的TextField,一个不设背景(预设为白色),另一个设背景(淡黄色) 白色背景的Print when expression输入new Boolean((($V{PAGE_COUNT}.intValue()) % 2)==0) 灰色背景的Print when expression输入new Boolean((($V{PAGE_COUNT}.intValue()) % 2)==1) 另一个方法是先在Detail Band上拉一个矩形,设其背景为淡黄色,设其Print when expression为new Boolean((($V{PAGE_COUNT}.intValue()) % 2)==1),意即奇数列时才要印出这个淡黄底色的矩形。再设其前景为白色,使矩形边界的黑框消失。在矩形上放需要的Text Field,并将其Transparent打勾,意即此Text field是透明的。
调用IE内置打印组件完成web打印方案及例程
重点:
<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 VIEWASTEXT>
</OBJECT>
<input type=button value=打印 onclick="document.all.WebBrowser.ExecWB(6,1)" class="NOPRINT">
<input type=button value=直接打印 onclick="document.all.WebBrowser.ExecWB(6,6)" class="NOPRINT">
<input type=button value=页面设置 onclick="document.all.WebBrowser.ExecWB(8,1)" class="NOPRINT">
<input type=button value=打印预览 onclick="document.all.WebBrowser.ExecWB(7,1)" class="NOPRINT">
注意:
1、CSS对打印的控制:
<!--media=print 这个属性可以在打印时有效-->
<style media=print>
.Noprint{display:none;}
.PageNext{page-break-after: always;}
</style>
Noprint样式可以使页面上的打印按钮等不出现在打印页面上,这一点非常重要,因为它可以用最少的代码完成最需要的功能
PageNext样式可以设置分页,在需要分页的地方<div class="PageNext"></div>就OK了,呵呵
2、表格线粗细的设置,更是通过样式表:
<style>
.tdp
{
border-bottom: 1 solid #000000;
border-left: 1 solid #000000;
border-right: 0 solid #ffffff;
border-top: 0 solid #ffffff;
}
.tabp
{
border-color: #000000;
border-collapse:collapse;
}
</style>
或者:
<style>
.TdCs1 {
border:solid windowtext 1.0pt;
}
.TdCs2 {
border:solid windowtext 1.0pt; border-left:none;
}
.TdCs3 {
border-top:none;
border-left:solid windowtext 1.0pt;
border-bottom:solid windowtext 1.0pt;
border-right:solid windowtext 1.0pt;
}
.TdCs4 {
border-top:none;
border-left:none;
border-bottom:solid windowtext 1.0pt;
border-right:solid windowtext 1.0pt;
}
.underline {
border-top-style: none;
border-right-style: none;
border-bottom-style: solid;
border-left-style: none;
border-bottom-color: #000000;
}
</style>
很多种打印的方式了,你走走脑子上网艘艘,没有找不到的
给你个打印excel例子,跟上面的不同
下载一个叫jcom的lib,鬼子做的
把包里的jcom.jar放到classpath,把jcom.dll放到java_home/bin下面
public class JCOM {
public boolean print(String fname) {
ReleaseManager rm = new ReleaseManager();
try {
ExcelApplication excel = new ExcelApplication(rm);
ExcelWorkbooks xlBooks = excel.Workbooks();
ExcelWorkbook xlBook = xlBooks.Open(fname);
ExcelWorksheet xlSheet = excel.ActiveSheet();
xlSheet.PrintOut();
xlBook.Close(false, null, false);
excel.Quit();
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
rm.release();
}
return true;
}
public static void main(String[] args) {
JCOM test = new JCOM();
try {
test.print("c:\\test.xls");
} catch (Exception e) {
e.printStackTrace();
}
}
}
C. excel操作
①
在H10输入
=SUMPRODUCT((YEAR(C2:C41)>=1980)*(E2:E41="硕士"))回车
②
F1(类别)输入:性别;F2(条件)输入:男
在E1输入
=DAVERAGE(B1:C61,"年龄",F1:F2)回车
真不喜欢“使用数据库统计函数”,一用就会死机。无奈你有强调,就给你吧。
D. 陈宁的基本情况
学习经历
1983年9月~1987年6月,武汉水运工程学院管理系学习,获管理工程学士;
1994年9月~1998年4月,攻读武汉交通科技大学经济与管理学院管理工程硕士,获硕士学位;
2000年9月~2006年6月,攻读武汉理工大学博士,博士研究生毕业,获博士学位。
工作经历
1987年7月~1993年10月,武汉水运工程学院管理系助教;
1993年11月~1999年10月,武汉交通科技大学经济与管理学院讲师;
1999年11月~2006年10月,武汉理工大学交通学院交通运输管理系副教授;
2006年11月~至今,武汉理工大学交通学院交通运输管理系教授。 1.教育部科技奖励评审专家;
2.湖北省综合招投标中心招标评标专家库专家(交通运输管理、物流输送设备等专业)
3.《武汉理工大学学报》(交通科学与工程版、社会科学版)、《上海海事大学学报》、《船海工程》杂志评审专家
4.长安大学学位办博士学位论文评审专家(物流管理专业)
E. 在JAVA中如何将多个组件放到同一个容器中交替显示
这个用基于JAVA的finereport报表工具就可以实现的。
F. 海南的 快进来,学校的事情
两所学校都是实力名校,不好说的。文昌中学通过了海南省重点中学办学水平一级学校等级评估。海南嘉积中学海桂学校中考成绩不年稳居琼海第一。
海南嘉积中学海桂学校
琼海市嘉积中学海桂学校是为进一步发挥嘉积中学办学优势,优化教育资源而创办的一所完全中学。
学校位于琼海市金海路科技园内,占地面积300亩,建筑面积6万6千平方米,投资近2亿元人民币。校园环境优美,每一个角落都展现出和谐、整洁的育人环境。目前有在校生近6600人,教学班95个,教职工500多人;有现代化的教学楼,设备一流的实验室、计算机室、阅览室、音乐教学室以及心理咨询室等,并且已实现班班多媒体、班班通网络。
学校建有办公楼1栋,实验楼1栋,教学楼5栋,教师公寓楼3栋,专家楼1栋,学生公寓楼8栋;食堂占地面积4000平方米,是海南省食品卫生A级单位。运动区标准篮球场、排球场、网球场、塑胶跑道、大型灯光足球场、露天游泳池等设施一应俱全。
多年来,学校中考成绩不仅年年稳居琼海第一,名列全省前茅,而且年年都有新突破。2009—2010学年度,在市委、市政府和市教育局的正确领导下,在各级部门和社会各界的关心支持下,嘉积中学海桂学校全体师生凝心聚力,锐意进取,以先进的理念、创新的举措、务实的作风再次续写辉煌,雷彩芬同学取得满分满星的好成绩,全校中考满分人数为370人,满分率为37%,再创历史新高!
2009年高考海桂学子同样成绩辉煌,542人参加高考,综合分800分以上2人(全市共3人),录取分800分以上4人,最高录取分850分,单科800分以上6人;综合分700分以上17人,录取分700分以上35人。一本141人,二本155人,三本186人,高招入围人数482人,入围率90%。700分以上高分数段,比08年多11人。有多名学生被复旦大学、中国科技大学、中国人民大学、对外经济贸易大学、中山大学、哈尔滨工业大学等名校录取。这些都标志着嘉积中学海桂学校已跻身于海南省名校之列。
学校拥有一支高素质的师资队伍,除由原嘉积中学选派的70名优秀教师外,学校还专门从湖北、湖南、安徽、黑龙江、吉林、山东、四川等教育先进省份引进了大批骨干教师和学科带头人,并从国家重点师范院校录用优秀毕业生不断充实我校教师队伍。据不完全统计,仅2009—2010学年度,我校教师获得各类奖项就有130多项,其中国家级30项、省级40多项、市级60多项。
在各级政府和教育主管部门的大力支持下,嘉积中学海桂学校各项事业迅速发展,并且将继续秉承嘉积中学的办学传统,践行“厚德、自强、博学、创新”的校训,用现代化的教学手段,塑造高素质的现代人,为琼海市教育事业的持续发展再立新功、再谱新篇!
文昌中学
学校前身为建于清朝嘉庆年间(1804年)的蔚文书院,1908年改设为文昌县立中学,至今已有205年建校历史和101年的中学办学历史。抗日战争时期被迫迁往文昌南阳山区,抗战胜利后搬回现校址。学校创办以来先后有30人次担任校长,现任校长为黄必铨先生。经过历代文中人的艰苦努力,文昌中学已成为一所闻名遐迩的中国名校(1988年评定)。
学校位于文昌市文城镇南边的文中坡,毗邻海南省会海口,有海文高速公路直达,距美兰国际机场只约30分钟车程,西南面紧靠文清大道,直通向南中国海岸线,交通条件十分便利。文昌物宝天华,人杰地灵,素有“文化之乡”的美称,“偃武修文,教化昌明”,厚实的传统文化积淀和尊师重教的良好社会风气,各级领导、各界人士、海外侨胞、港澳台胞对教育的关心支持,为学校的发展奠定了坚实的群众基础。
学校占地面积近千亩,在全国中学中排名第二位,建筑面积15万平方米,高标准的教学楼、图书馆、科学馆、运动场、文昌市青少年活动中心、教师宿舍、学生公寓以及文中餐馆,配备有先进的教育教学设施。并严格按照教学区、运动区、生活区“三区分开”的原则布局,合理有序。校园宽广平坦,道路笔直通畅,绿树成荫,鸟语花香,冬暖夏凉,物候宜人。学校现有在职教师320多人,在校学生5500多人,设有97个行政班。学校的发展得到了社会各界、海外乡亲、港澳台同胞的鼎力支持,捐赠将近1500万元,为学校奠定了坚实的基础。其中泰国侨领导张光嶷先生捐赠330万元建成科学馆,香港海南商会常务副会长潘正洲先生捐赠320万元建成教学楼,香港海南商会顾问陈世英先生80万元建成办公楼,周成泰先生等100多位海外乡亲捐赠110万元建成图书馆。马来西亚王兆松先生亲属2002年捐资80万元重建王兆松楼。2005年秋季,学校接收了原文昌中学初中部项目,学校硬件设备齐全,办学规模得到进一步扩大,在校学生可达7000人。
学校办学成绩斐然,闻名遐迩。学校全面贯彻党的教育方针,全面实施素质教育,坚持“以人为本”,坚持依法科学治校,致力于培养创新精神和实践能力,形成百年校庆会徽了人心齐、理念新、管理善、设备全、环境美、质量高的办学格局。自1977年恢复高考以来为大中专院校输送了一万多名优秀学生,近三年每届都有600多位学生考上北大、清华等国家重点大学。获得中华全国总工会授予的“全国先进单位”“五一劳动奖状”,中央组织部授予的“全国先进基层党组织”等国家级荣誉称号70次,获得省委省政府授予的全省教育战线“文明单位标兵”等省级荣誉称号196次。
学校的建设和发展得到了党和国家的关心和支持。国务院副总理谷牧,中央政治局委员李铁映,国家科委主任宋健,国家体委主任李梦华,中央对外联络部部长朱良,农业部部长杜青林,国务院侨办主任郭东坡,国家总督学柳斌等领导都曾莅临学校视察。
2003年9月,学校通过了海南省重点中学办学水平一级学校等级评估。2005年秋季,海南省教育厅批准与海南中学并列第一批面向全省招生。目前,学校正朝着创建“全省一流,全国知名,有国际影响”的特色高中示范学校的办学目标迈进。
★该校男女沙滩排球队参加海南中学生沙滩排球赛双双获得冠军。
★该校学生参加2009年学科(高中理科)奥林匹克竞赛成绩突出,5个一等奖名额,26个二等奖名额,16个三等奖名额,其中林琳同学将代表海南省参加2010年全国高中学生竞赛冬令营。
★该校排球队在海南省2009年大学生中学生排球锦标赛中学组男女双双获得冠军。
★海南省第十五届中学生田径运动会上该校代表队获得团体总分第二名。
★建校至2009年11月止,该校共获得国家级荣誉70项,省级荣誉193项(2005年为183项)。
★该校合唱团选送的《香格里拉》《飞翔吧中国》,舞蹈团选送的《战魂》在海南第六届中学生文艺汇演上荣获两个一等奖。
★09年全国中学生排球锦标赛文昌中学队获得第一名,此为第八次获得全国总冠军。
★09年届陈宁获得海南省理科状元,此为文中自恢复高考以来第十二位状元,第四位理科状元(建省以来第一位理状)。
★2008年11月17日百年校庆期间,杨利伟受聘文昌中学荣誉校长。
★2008年11月17日(百年校庆)目前为止,我校共获国家级69项荣誉。
★该校2008年高考成绩创历史新高,有近600人考入国家级重点大学,5人考取清华北大,当届高三6班全班60人上一本,中考全市第一,全省第二成绩!
★该校被第29届奥运动会组委会、中华人民共和国教育部命名为“北京2008奥林匹克教育示范学校”。
★该校参加由中国教育学会教育管理分会组织的全国首届学校文化建设展评,荣获“全国校园文化建设金奖”荣誉称号。
★该校男排勇夺2006年全国中学生排球锦标赛亚军。在2006年海南省中学生排球赛中,我校男女排球一队双双荣获冠军,女排二队夺得亚军,男排二队位居第四;我校还获得体育道德风尚奖。
★我校歌舞团赴香港参加由全国校园春节联欢晚会组委会、中国文学艺术基金会、亚太交流协会、星汇资源有限公司主办的2006年香港青少年文化艺术交流活动荣获国家级节目表演一等奖与创作奖。2006年海南省第五届中学生文艺汇演,我校歌舞团选送的合唱《东西南北茉莉花》、群舞《穿越》、独唱《春之舞》三个节目均荣获得一等奖,学校荣获优秀组织奖。
★我校组织学生参加2006年全国青少年五好小公民主题教育“弘扬中华美德,构建和谐学校”读书征文活动,被教育部关心下一代工作委员会授予国家级集体三等奖。
★我校被海南省教育厅评定为“海南省基础教育课程改革实验工作先进集体”,被海南省教育研究培训院授予“海南省基础教育网络教研先进学校”荣誉称号,被海南省教育厅、海南省司法厅、海南省普法办联合授予“‘四五’普法活动组织奖”。
★2006年高考,我校总分800分以上的同学有4人,理工类的黄文君同学855分、符传庆同学834分、陈龙同学821分,文史类的徐锦同学811分,稳居全省各市县重点中学之首。黄文君和吕书明被北京大学录取,吕书明是北京大学自主招生在海南录取的唯一考生;符传庆和陈龙被清华大学录取;徐锦被复旦大学新闻系录取。我校获得单科标准分800分以上的同学有12人;获得总分700分以上的有63人,比去年的48人增加了15人;获得单科标准分700分以上的有231人次,比去年的167人次增加了64人次。据统计,我校入围第一批国家重点大学录取分数线的同学达499人,比去年的423人增加了76人,创我校高考招生历史的新纪录。
★谢晋锯校长的论文《构建和谐新校园,齐抓共管教做人》《加强德育队伍建设,拓宽德育工作思路》均荣获中国教育报和“现代教育理论与实践论坛”组委会联合组织的全国论文大赛一等奖。
★邢益育老师被海南省人民政府授予“海南省特级教师”荣誉称号。
★许杨柳老师被全国中语会评为第四届全国优秀中学语文教师。
★胡妍老师的论文《教育的真谛》获中国教育创新研究院、中国教育创新杂志社主办的第一届“中国教育创新研究与探索”论文评比一等奖。
★张永炳老师的教学课例《高中生物新课程资源的开发与利用初探》荣获中南六省区生物教学课例评选一等奖,并被中国教育学会生物学教学专业委员会、人民教育出版社评定为国家级一等奖 。
★佘杨宁老师的论文《中学舞蹈在课改中的探索与实施》荣获中国科技理论成果丛书编委会组织的论文评选特等奖,《论新音乐教学》荣获中国管理科学研究院学术委员会组织的学术成果评选一等奖,编导的舞蹈《快乐假日》荣获全国校园春节联欢会组委会评选的国家级优秀编导奖。
★林明训老师的论文《漂亮是美术鉴赏的标准吗?》荣获中国美术教育研究会河南省教育学会美术书法教育专业委员会组织的中南六省区中小学美术教育协作交流会论文评选一等奖。
★朱晓峰老师的《金属的化学性质》获中国化学学会中南区化学教育专业委员会组织的教学录像评比一等奖。
★黄有宝副校长和李经柳、洪武、刘芳玲、王奋、郭莉、符艳等老师荣获教育部关心下一代工作委员会组织的“弘扬中华美德,构建和谐学校”读书征文活动国家级优秀指导奖.。.
★詹崇学老师的论文《我谈初中综合实践课》与《地理研究性学习的目标与方法》分别荣获“现代教育理论与实践论坛”评委会组织的全国论文大赛一等奖和二等奖。
★杨舫玲老师的教学案例《关于二氧化硫性质的教学设计》《食品中的膨松剂》均荣获中国化学学会化学教育专业委员会组织的教学案例评比国家级二等奖。
★邢益育、蔡明姬、陈奕海、袁家琼、陈策、郭莉等老师分别荣获《语文教学与研究》杂志社组织的第七届“新世纪杯”全国中学生作文大赛国家级指导二等奖和三等奖。
★陈有信老师的下水作文《“榜眼”今说之我见》、韩爱民老师的论文《语文课改要注意培养学生创新思维能力》分别荣获第七届全国语文教师“四项全能”竞赛组委会组织的写作竞赛二等奖和论文竞赛二等奖。
★范高忠老师荣获第二届全国中小学体育教学观摩展示活动二等奖、海南省中学体育课录像比赛二等奖。
★郭仁望老师被中国中学生体育协会排球分会评为国家级排球优秀教练员。
★郑祝利副校长被海南省教育厅评为海南省基础教育课程改革实验工作先进个人。
★ 钟超老师被海南省教育厅评为海南省基础教育网络教研先进个人。
★在2006年“华兴杯”全省中学生“语文与生活”主题作文竞赛暨网络展示活动中,黄有宝副校长和李经柳、闵祥玉、石良峰、袁家琼、方清娟、王奋等老师获高中组教师指导一等奖;黄峰、刘芳玲、邢春菱、王春果、蔡君、符艳、郭莉等老师获初中组教师指导一等奖;杨建江、陈有信、陈裕福、陈靖、林翠薇、敬宗毅等老师获高中组教师指导二等奖;洪武、韩爱民、陈蕊、云虹等老师获初中组教师指导二等奖;刘圆圆、范越丽等老师获高中组教师指导三等奖;黄峰、黄金玉、陈策、郑小兰、蔡明姬等老师获初中组教师指导三等奖。
★郭莉老师的《观舞记》获海南省第十届现代教育技术与课程整合录像课评比一等奖。
★梅梁老师荣获海南省教育研究培训院海南省中学物理教学研究会组织的海南省中学物理教学设计一等奖。
★尹海迷老师的《网络数据库的信息检索》获海南省教育厅基础研究处、海南省教研院组织的2006年海南省中小学信息技术教师说课评比一等奖。
★陈长连老师获海南省教育研究培训院海南省中学历史教学专业委员会组织的2006海南省中学历史教学说课评比高中组一等奖、课堂教学评比高中组二等奖。
★王玉洁老师荣获省教育厅举办的海南省音乐教育案例及教学设计评选活动中荣获中学音乐组一等奖。
★罗长乐、陈帅、李娜、韩俊光、翁艳媚等老师获2006年海南省中学生文艺汇演优秀指导老师一等奖。
★在海南省教育研究培训院、外语教学与研究出版社组织的2006年海南省中学生语文基础知识大赛活动中,黄有宝副校长和闵祥玉、邢益育、符永承、袁家琼、黄峰、蔡君、郭莉、郑小兰等老师获优秀辅导奖一等奖;刘圆圆、符气荣、方清娟、王奋、范越丽、洪武、赵祚前、邢春菱、王春果、符艳等老师获优秀辅导奖二等奖;李经柳、石良峰、梁煜、陈策、陈蕊、蔡明姬、韩爱民、黄金玉等老师获优秀辅导奖三等奖。
★在海南省科学技术协会、海南省教育厅联合组织的第十八届海南省青少年科技创新大赛中陈长连指导的《对虾养殖与水体污染》、余明川老师指导的《对虾养殖与水体污染》均获优秀竞赛项目一等奖;张永炳老师指导的《文昌名人山鸟类自然保护区可持续发展报告》获优秀竞赛项目二等奖;傅启地、赵仕美、吴清文等老师指导的《清洁高效环保的新能源太阳能》、张永炳老师指导的《文昌鸡的发展现状与未来》、张平老师指导的《给黑板换装》、邓洪老师指导的《禽流感对文昌鸡的影响》、张平、林升辉老师指导的《文昌挖钛何时了—文昌钛矿开采现状分析与对策》均获优秀竞赛项目三等奖;傅启地老师指导的“可以用脚踩出来的抽屉”,赵仕美老师指导的“可拆装式拉链”均获小发明类二等奖;赵仕美老师指导的“螺丝刀的改造”,伍小飞、朱晓峰老师指导的“二氧化碳制取装置及小型灭火器”均获小发明类三等奖;辛静老师指导的《戒毒仪》、《焕然一新的大沙漠》、《漂移的城市》和齐明华老师指导的《新家园》分别获科幻绘画类二、三等奖。
★林树本、林鸿远、赵仕美等老师被中国物理学会授予物理奥林匹克竞赛辅导海南省二等奖。
★吴志军老师的《乙醇》获海南省第十届现代教育技术与课程整合录像课评比二等奖。
★杨柳老师荣获海南省教育研究培训院海南省中学物理教学研究会组织的海南省中学物理青年教师课堂教学大赛高中组二等奖。
★吴玮玮老师获海南省教育研究培训院海南省中学物理教学研究会组织的海南省中学物理青年教师课堂教学大赛初中组二等奖。
★韩密老师的论文《浅析制约计算机辅助课堂教学效果的因素与对策》荣获海南省第一届现代教育技术论文评比二等奖。
★杨志刚老师获海南省教育厅组织的海南省第六届中学体育优质课调教说课二等奖、上课比赛三等奖。
★余好妹老师获海南省教育研究培训院组织的初中数学网络教案评比二等奖。
★胡妍老师的《发展生产 满足消费》荣获海南省教育研究院组织的海南省高中政治科优质课决赛三等奖。
★李鸿辉老师获海南省教育研究培训院海南省中学物理教学研究会组织的海南省中学物理教学设计三等奖。
★林娇老师的《盐》、王慧荣老师的《定量认识化学变化》、陈林书老师的《质量守恒定律》均获海南省教育培训院组织的初中化学教学设计比赛三等奖。
★潘彬、翁夏韧、韩密等老师制作的课件《信息处理工具——计算机》、《计算机网络基础教程》、《保卫黄河》均荣获海南省第十二届多媒体教材(软件)评比三等奖。
★邢春菱老师获海南省教育厅关心下一代工作委员会组织的“弘扬中华美德,构建和谐学校”读书征文活动优秀指导奖。
★符致全老师指导的学生参加全国中学生数学竞赛,符帅同学获海南赛区一等奖;李加龙、林子晖等2位同学获二等奖;朱冠运、林淑汝、杨兹超、陈密、林道强、陈玉勇等6位同学获三等奖。
★朱晓峰老师指导的学生参加全国中学生化学竞赛,林明信,杨兹超、林淑汝、董长欢、林方纠、云天林等6位同学获二等奖;黄良兴、林道潭、潘孝河、刘陶华等4位同学获三等奖。
★陈斌老师指导的学生参加全国中学生生物竞赛,林景宜同学获海南赛区一等奖;王位哲同学获二等奖;李文茂同学获三等奖。
★林树本老师指导的学生参加全国中学生物理竞赛,潘孝河、张大乾、林江、陈玉勇等4位同学获海南赛区二等奖;张联平、吴育林、陈密、林师严、曹娈肖、何瑞林、林道飞、林易、欧怡孝、谢盛栋等10位同学获海南赛区三等奖。
★吴娇老师指导的学生参加全国青少年信息学奥林匹克联赛,周军、陈升同学获海南赛区三等奖。
G. 请问四川德阳的‘四川人工程职业技术学院’成教怎么样
四川工程职业技术学院占地1200余亩,在校学生12000余人,教师778人,聘有数十名国内外着名教授、专家为客座教授。学院教师编撰专着及国家规划教材158部,同时还承担了教育部《面向21世纪教育振兴计划》课程建设和教材规划部分课题的研究。学院设有11个教学系部、成人教育学院、培训中心、国际语言中心和4个技术中心(四川省装备制造业产业集群技术创新中心、数控技术中心、电气技术中心和焊接技术中心)教学、科研、实训机构。现开设有48个专业或专业方向,在已开设的专业中,学院是全国机械行业“数控”、“焊接”专业的牵头院校,数控技术专业是“国家精品专业”和“国家级教改试点专业”;焊接技术及自动化、电气自动化技术和市场营销三个专业是“省级精品专业”。[2]
编辑本段学院设备
学院设备
[3]四川工程职业技术学院实验实训条件完善,具备较强的科研能力。按照“实习场所像车间一样、实训教师像工程师一样、实训作品像产品一样”的建设思路,建立了与各专业建设发展相适应的校内实验实训中心(车间、基地)16个,下辖82个专门实验实训室,实验仪器设备总值8000余万元。通过省市共建的新模式,成功地与德阳市共建了设施一流、功能齐备、建筑面积达1.8万平方米的大型图书馆,馆藏图书达82.5万册。[4]
编辑本段学院荣誉
全国五一劳动奖
[5]四川工程职业技术学院鲜明的人才培养模式和办学特色受到了国家、省、市各级领导和社会的广泛赞誉,学院先后获得了全国职业教育先进单位、四川省文明单位、四川省普通高校就业先进单位、四川省“十五”高校教师队伍建设先进单位、四川省普通高校园林式校园等荣誉称号。2004年被教育部确定为“国家紧缺人才培训基地”,2005年被教育部、财政部确定为中央财政重点支持的“国家综合性职业教育实训大基地”,2006年获“国家技能人才培育突出贡献奖”,同年被确定为全国首批28所国家示范性高职院校之一,2007年荣获“全国五一劳动奖状”,2008年1月学院院长司徒渝荣获四川省第四届杰出创新人才奖。[6]
编辑本段办学思想
校 训 科学民主 求实创新 校 风 知行合一 精益求精 教 风 博学精技 敬业树人 学 风 勤学践行 自主创新 办学理念 体制创新 开放办学 办学方针 以人为本 依法办学 从严治校 精心育人 学生品牌 技能过硬 作风优良 自主创新 身心健康[7]
编辑本段学院系部
机电工程系
汽车实训中心
[8]机电工程系是四川工程职业技术学院办学历史最长的主干专业系部,是全国高校机械学科委员会的委员单位。四川省机械工业数控技术应用培训中心,德阳机械制造业技术研究中心均设在本系。现开设有数控技术、计算机辅助设计与制造、模具设计与制造、机械制造与自动化、汽车检测与维修技术、汽车技术服务与营销、机电一体化等专业(方向)共11个。其中数控技术专业是国家“精品专业”和国家级教改试点专业,国家首批示范性高等院校中央财政重点支持建设专业,是“全国机械行业数控专业指导委员会主任单位”。 机电工程系现有专兼职教师120人,其中副教授、高级工程师60人,讲师、实验师36人;博士5人、研究生(硕士)62人,留学归国人员6人;其中2人荣获四川省高校名师。我系设置有机械制图、数控技术、机械制造、模具设计与制造、机电一体化、计算机辅助设计、数控实训、汽车电气和汽车装饰与维修9个教研室,我们按照“一流的师资、一流的条件、一流的人才培养模式”建有数控生产性实训基地、汽车实训中心及机械基础(机械设计、机械加工)、精密检测技术、机电一体化技术、模具设计与制造、计算机辅助设计等实验室;其中数控生产性实训基地集教学、培训、职业技能鉴定、生产、科研和技术服务为一体,建筑面积7000m2,拥有车、铣、刨、磨等各类普通机床60台,德玛吉五轴联动加工中心、米克朗高速加工中心和马扎克车铣复合中心等各类数控机床85台,以及意大利COORD3三坐标测量机、切削状态检测、电动轮廓仪、激光快速成型机等精密检测科研设备15台,校内数控生产性实训基地设备总值6000余万元。汽车实训中心与绵阳丰田公司建设了4s店。 机电工程系有国家机械职业教育教学指导委员会专委会委员4名。近年来,我系依托四川省装备制造业产业集群技术创新中心、德阳机械制造业技术研究中心、工具研究所,以及德阳市中小企业技术研发基地,校企合作,大力开展科技攻关,数控教学团队成员先后获得1项国家发明专利,完成“十五”国家科技攻关课题“德阳重大技术装备制造业基地公共创新设计平台”等科研项目35项;发表科技论文160余篇。 机电工程系现有在校学生4800余名。我系长期注重对学生的综合素质培养,学生党支部、团总支、学生分会在学生自我教育、自我管理、自我服务中发挥了突出作用。学生社团活动丰富,在学院历届文艺、体育活动中均取得了优异成绩。我系学生代表学院参加全国大学生数学建模大赛连续两届获得全国三等奖, 2004、2006、2008年我系数控专业学生在全国数控技能大赛中均获大奖,2004年又荣获“第一届全国大学生机械创新设计大赛”西南赛区一等奖,全国三等奖,展现了我系学生优良的作风与素质。 在近50年的办学历程中,机电工程系为国家为社会培养了一批又一批优秀人才,他们在各自的工作岗位上,不忘母校教诲,兢兢业业,努力拼搏,为祖国奉献着自己的美好年华和聪明才智。 在发展中前进的机电工程系,是祖国现代制造技术人才培养的摇篮。[9]
电气信息工程系
电气系代表队再获全国职业院校技能大赛佳绩
[10]电气信息工程系在四川工程职业技术学院已有二十余年的历史,经过多年不懈努力的探索和实践,积累了丰富的办学经验,并摸索出一整套比较科学的培养体系,已为社会输送了5000余名大中专层次的专业技术人才,受到社会用人单位的一致好评。我系现有电子信息工程技术、汽车电子技术、通信技术、电气工程自动化技术(省级教改试点专业)、建筑电气技术、电力系统及自动化、数控设备维修等七个专业,致力于具有较强基础知识、实践技能和创新能力的大学专科层次人才的培养,毕业生广泛分布于信息服务业、产品制造业、政府机关等行业或部门,从事信息管理与服务、产品设计与制造、运行与管理等工作。绝大多数同学在走上工作岗位后不久,就成为了企业的业务骨干。 电气信息工程系现有专兼职教师近60名,其中教授一人,副教授及高级工程师十五人。他们有很强的教学能力和较高科研水平。近年来,由我系教师编写的公开出版的教材共20余本,主持或参与省级、市级科研课题10余项,同时和企业保持着良好的合作关系。 经过多年的建设与大力投入,形成了结构完整、设备先进的实践教学体系。现有相关专业14个实验、实训室(电工电子技术基础实验室、电机实验室、PHILIPS单片机实验室(二个)、电子创新实验室、计算机控制实验室、通信实验室、电力电子实验室、供配电实验室、专业机房、电子实训室三个等)及近七百平米数控维修技术车间,仪器设备总值约3000万人民币并有一批先进的实验和教学设备。与东方汽轮机厂、东方电机厂、中国二重集团、长虹电气集团等公司建立了6个稳定的校外实训基地。[11]
经济管理系
洛带实习参观
[12]经济管理系学习部在系学生会和院学习部的领导下,对学生的晚自习进行相关管理工作,为全校学生和老师营造一个良好的学习氛围。经管系学习部工作都是踏踏实实的,每天晚上都要去查晚自习。在不断学习与锻炼的过程中,成员之间团结合作,积极配合,相互沟通协调,俨然已经成为了一个大家庭。[13]
建筑工程系
获得荣誉
[14]建筑工程系现下设 5 个教研室(建筑工程教研室、建筑钢结构教研室、工程造价教研室、园林教研室和建筑装饰教研室),开办有四川省首批设置的高职专业:建筑工程(工民建方向、钢结构方向)、工程造价、工程管理、 建筑装饰、园林工程等专业。我系自成立以来毕业生深受四川省建设厅、建筑企业、装饰工程公司及社会各界的一致好评和欢迎。 建筑工程系现有专兼职教师 35 人 , 其中 , 高级职称 6 人,中级职称 13 人,“双师型”教师 16 人。在专任教师中,国家注册一级结构工程师 1 人、二级结构工程师 2 人,国家注册一级建造师 2 人,国家注册监理工程师 2 人,国家注册造价师 2 人,建筑高级咨询师 8 人,工种考评员 9 人,学科带头人 1 名,专业带头人 2 名,骨干教师 2 人。教师积极进行教学、科研课题的研究,公开发表论文 30 余篇,完成科研课题 20 余个,成果累计 100 余项。 教学设施完善,拥有建筑与环境艺术工程中心,中心下设力学实验室、建筑材料实验室、土工实验室、园林植物实验室、植物组织培养实验室、土壤实验室、植物病虫害实验室、测量实训室、美术画室、技术服务工作室、建筑与装饰实训基地、园林绿化实训基地以及计算机辅助设计室等。仪器设备固定资产约 785 万元。另外,与四川农业大学林园学院、四川省第七建筑工程公司中心试验室、北京昶辰装饰设计有限责任公司德阳分公司等 9 家单位签定了校外实习实训协议,为培养学生工程实践能力和社会就业培训提供了保障。 随着学院的发展与腾飞 , 建筑工程系抓住机遇 , 与时俱进深化改革 , 在狠抓教学质量的同时大力开展订单式教学模式 , 并取得了显着成就。明天 , 建筑工程系一定会更美好。[15]
计算机科学技术系
德阳军分区高考填报军校自愿学生心理测试
[16]计算机科学技术系前身源于四川工程职业技术学院计算机中心(成立于1996年)。由于计算机技术迅猛发展和社会对计算机人才的广泛需求,2001年以计算机中心和原学院电气工程系计算机教研室为基础组建成立计算机科学技术系。随着全国教育体制改革的不断发展和四川地区高等职业教育的需要,2005年4月原四川德阳教育学院整体并入四川工程职业技术学院,与之相应的信息工程系计算机教研室、IT软件教研室同时并入我系,经过资源整合,成立了新的四川工程职业技术学院计算机科学技术系。 计算机科学技术系现下设四个教研室即计算机应用教研室、计算机网络教研室、计算机软件教研室、计算机基础教研室。本着“面向社会,按需培养”的办学方针,我系目前设有“计算机网络技术”、“机械制造与自动化技术(制造技术信息化方向)”、“计算机软件技术(可视化程序设计方向)”、“计算机软件技术(数据库管理方向)”、“计算机应用技术(IT制造与售后服务方向)” 、“计算机应用技术(文秘与办公自动化方向)”共六个不同的计算机信息类专业。计算机信息专业群从开办至今,毕业生已达1600余名,毕业生因“专业知识牢、动手能力强、适应范围广”而受到用人单位的普遍欢迎。 计算机科学技术系现有教职工45人,其中专职教师 35 人 , 硕士研究生22 人(包括在职在读硕士研究生),副教授以上职称 6 人,工程师、讲师 18 人,学院课程带头人3 人,学院骨干教师 6 人。在专任教师中,“双师型”教师22 人,国家职业技能鉴定督导员 1 人,国家职业技能鉴定高级考评员1 人,国家职业技能鉴定中级考评员4人。 经过多年的建设与大力投入,目前已形成了结构完整、设备先进的实践教学体系。现有相关专业不同类别8个实验、实训室,其中计算机网络实验室2个、计算机维修实训室1个;制造业计算机信息化实训室2个、计算机应用实训室1个、计算机软件实训室2个,已有高档次计算机450台左右。另外,计算机科学技术系为计算机维修实训室配置有高品质BGA焊机一台,为教师及学生深入开展计算机硬件实训操作提供了可靠的保证。 目前,计算机科学技术系与社会进行广泛合作,已分别建立有2个计算机软、硬件稳定的校外实训基地,为培养学生工程实践能力和社会就业培训提供了有效的保障。我系从2004年就开始与ATA长期合作,在开办IT软件新专业的过程中,采用全新的教学模式和方法,教学质量和效果得到社会的广泛认同。[17]
材料工程系
工程中心
[18]一.现今概况 材料工程系的主要专业是建校之初就开设的专业,而系部的成立只有3年多时间,因此是既专业历史悠久又年轻的系部,但已成长为学院主干系部之一。材料工程系包括焊接技术及自动化、铸造技术、金属材料热处理、理化测试及质检技术、冶金技术、锻压技术六个专业及专业方向,这些专业及专业方向组成了涵盖金属材料成形所有专业、全国高校中专业最全的材料工程类专业群,全系统招在校生规模2千人。 二.历史沿革 1959年建校之初就开办了焊接、铸造、锻压等专业,但随着社会的变迁和经济形势的变化,“文革”后锻压专业停止招生,2006年恢复开办锻压技术专业,1995年新开办金属材料专业和理化测试及质检技术(质检)专业,2009年新开设冶金技术专业。随着学院的发展,1991年在焊接、铸造专业基础上成立热加工专业科,后来开办的热处理专业和质检专业也归属该科;1999年把管理类专业归入热加工专业科,并成立材料管理系;2001年学院在省内首批成功升级为高等职业技术学院,把材料管理系的材料类专业并入机电工程系;2006年学院又把材料类专业从机电工程系划出,成立材料工程系;2006年后材料工程系得到了极快的发展壮大。 三.专业建设情况 系部成立之后,学院和系部确定了以专业建设为核心的系部发展之路,年底适逢我院被财政部和教育部遴选为国家首批28所示范性建设高职院校之一,以焊接技术及自动化专业为龙头的材料工程系材料工程类专业群被批准为中央财政重点支持建设专业群。整个专业群建设项目计划三年内总投入1510万元人民币,其中中央财政投入1210万元,省财政投入108万元,学院自筹192万元;其中用于焊接专业建设的资金为1295万元,用于所在专业集群建设的资金为215万元。通过创新思路和做法,依托德阳国家重装基地企业,搭建资源共享的教育平台;创新人才培养模式,系统设计具有制造业特色、针对毕业生就业和拓展的主要岗位的核心能力、符合国内产业发展的课程体系和课程内容,实施系统培养;建设包含现代装备制造业企业生产和管理主要要素,教学环境、设备条件一流的生产性实训基地;基于产品制造典型工作过程建设精品课程和特色课程;建立专业领军团队把握专业建设方向,校企共建专兼职双师素质教师队伍,推行“双师授课法”实施教学,建立完善的教学质量考核、评价制度保证教学质量,调控人才培养方案,实现人才培养的持续改进机制,提高人才培养质量和社会服务功能。 四.取得的主要成果和特色 1.取得的主要成果 1)参与探索并提炼出一条适合中国国情的、具有中国特色的高职教育发展之路的“1221”模式,该模式获得2009年国家教学成果一等奖,并在全国推广;基于“1221”模式的“工学结合的高职焊接技术及自动化专业人才培养模式探索与实践”获省级教学成果二等奖、院级教学成果一等奖,“高职材料成型与控制技术专业铸造方向人才培养模式探索与实践”获院级教学成果一等奖。 2)开创性地制订《焊接制造岗位职业标准》、《焊接专业人才培养质量要求》、《人才培养方案》,并在教育部材料教指委、机械行业专指委组织的多次会议上公开交流。 3)《典型接头焊条电弧焊实作》被评为“国家级精品课程”,《焊接结构制造工艺与实施》课程被评为“省级精品课程”,《材料成型基础》和《铸造工艺CAE技术》课程被评为“院级精品课程”,其中《铸造工艺CAE技术》课程还被评为材料成形专指委精品课程。 4)建设了实训条件和实训环境国内领先的实训基地。 5)建设了一支优良的师资团队:出版了2本教材,获市级科技进步奖1项,获国家发明专利1项,焊接专业教学团队2008年被评为四川省“省级教学团队”,取得了1项国家级教学成果一等奖、1项省级教学成果二等奖、2项院级教学成果奖,1人被评为省级优秀教师。 6)焊接专业被评为“四川省精品专业”。 7)招生规模大:从2006年的900余人扩大到2009年的约2000人。 8)就业质量高:历届毕业生供不应求,主要就业单位是大型央企等好企业。 9)社会评价好:毕业生和办学质量获得社会、行业、企业广泛好评,招生志愿报名踊跃。 2.形成的特色 1)专业最齐全:涵盖了金属材料制备、成形、质量检测的所有专业。 2)历史悠久、办学经验丰富、教学质量较高:长期的积累,收集了大量生产、教学资料,有力支持了人才的培养,保证了教学质量。 3)实验实训实施一流:7000多平米的实验实训场地、价值约2000万的近500台套仪器设备,使本系的实验实训实施达到国内高校的一流水平。 五.今后的发展思路 各专业围绕新的人才培养模式做细做实,提高教学水平和质量使各专业培养的人才更适应社会需要,为我国成为制造业强国作为更大贡献。夯实基础、提升教师科研能力,提高各专业为社会、企业开展培训、技术服务的能力,更好地发挥高校服务社会功能。在条件成熟的情况下拓展专业范围,扩大服务社会范围。[19]
外语系
外籍老师
[20]四川工程职业技术学院外语系是在原德阳教育学院(含成都理工大学德阳分校)整体并入四川工程职业技术学院后,于2007年3月1日由四川工程职业技术学院国际语言培训中心、公共英语教研室、经贸英语教研室与原德阳教育学院英语系(含成都理工大学德阳分校外语系)共同组建而成。 外语系成立以来,乘着学院建设国家示范性高职院校的东风,切实按照国家高职高专人才培养的规格和要求,更新教育理念,着力加大教学模式、专业结构调整、课程体系和内容、教学方法等方面的改革力度。坚持 “产学结合,校企互动”的办学方针,狠抓制度建设,严格教学管理,加强常规教学;坚持“以就业为导向,以服务为宗旨”的人才培养理念,大力探索高职高专英语教学改革之路,积极创新适合高职学生外语学习特点的全新教学模式和方法,形成了鲜明的专业特色。除培养学生熟练掌握英语听、说、读、写、译五项基本技能外,还注重职业技能、职业素养以及综合素质的培养。高水平的师资配备,严谨的教学态度和鲜明的“英语+专业”教学特色使外语系近几届毕业生突破就业瓶颈,大大提升了毕业生的就业竞争力,近几年的一次性就业率均保持在98%以上。 外语系现设有英语专业教研室(ENGLISH MAJOR)、专业英语教研室(ESP)、公共英语教研室(COLLEGE ENGLISH)和国际语言培训中心(INTERNATIONAL LANGUAGE TRAINING CENTER)。常年开设商务英语、旅游英语和应用英语专业,涵盖商务、对外贸易、涉外文秘、导游与涉外酒店管理等多个专业方向。主要培养在外经、外贸、旅游、涉外宾馆、酒店、三资企业、教育等部门,从事翻译、公关、文秘、管理、导游、营销、教学等工作,具有创新精神和实践能力的高等复合型、应用型涉外人才。开设的主干专业课程有:综合英语、语音、英语视听说、英语写作、商务英语、市场营销、商务谈判、电子商务概论、旅游英语、饭店英语、导游业务、日语、服务礼仪、经贸英语基础、外贸单证与函电、国际贸易实务、涉外礼仪等。学生就业方向主要为:国有企事业单位、中外合资企业、私营外贸企业、旅行社、涉外宾馆、酒店、中等职业培训、外事部门等。 外语系拥有一支专业知识过硬,结构合理,双师性素质高,充满生机与活力的教师团队。全系现有教职工36人,其中专职教师31人,教辅和政工人员5人。专职教师中,具有副高级以上职称者16人,占总数的52%,中级职称者10人,占总数的32%;具有硕士学位者 8人,占总数的 26%。常年聘有外籍教师2-3名住院执教。在狠抓教学质量、深化教学管理,全面完成英语专业和全院公共英语教学任务的同时,外语系也十分注重教师科研能力的培养和提高,千方百计为教师进修和提高创造条件。全系有4位教师曾到国外进修学习,有13位教师攻读在职硕士学位研究生。近年来,全系教师在国内公开刊物发表专业与教学等科研论文100余篇;承担国家、省、市等各级科研课题6项;主编和参编教材10余部;《汽车英语》《大学英语》、《旅游英语》等课程已经获得或正在创建院级精品课程。 外语系非常重视学生综合素质与能力的培养和提高,重视学生第二课堂活动的积极开展,努力为学生提供展示专业才干和个性风采的平台。外语系学生参加的“全国大学生英语竞赛(NECCS)”、“全国高职高专实用英语口语大赛”等多次获得全国奖、省奖,在大学英语等级考试方面也取得了很好的成绩。 外语系按照学院的统一要求,紧紧围绕“1221”人才培养模式公共基础课程的改革以及专业课程建设的改革,走上了一条超越自我、寻求突破的创新之路,这必将引领外语系跃上又一个崭新的台阶。[21]
艺术系
唐谱作品
[22]在1997 年创办的广告设计与装潢专业、工艺美术专业和 2000 年创办的服装设计专业的基础上, 2001 年成立了学院艺术设计系,之后,学院又将创办于 1997 年的学前教育专业(艺术教育方向)归入本系,于 2004 年正式更名为艺术系。从创办艺术系各专业至今,艺术系全体教职工齐心协力,积极探索专业发展和人才培养模式的创新之路,为艺术设计和艺术教育行业培养了 1200 余名合格的高素质高技能人才,历届毕业生就业率近 100% 。在学院成为国家首批高职示范院校的今天,艺术系正以崭新的面貌,迎接新的挑战。 艺术系现有艺术设计(广告装潢设计方向)、服装设计、学前教育(艺术方向)三个专业,拥有一支结构合理、充满创新精神的教师团队,专、兼职教师达 39 名,副教授以上高级职称教师 13 人,双师型教师 16 人,相当数量专业教师历经企业挂职锻炼,被相关企业聘请为设计总监或艺术总监等,具有丰富的实践经验;我系有省美术家协会、省舞蹈家协会、省音乐家协会、省摄影家协会会员等 15 人,服装设计教研室为四川省服装纺织协会理事会成员,我系各专业有着广泛的行业背景和支持。 我系拥有与各专业教学配套的画室、设计工作室、材料工作室、服装设计室、服装定制车间、练功房、舞蹈排练厅、数码钢琴室、学生琴房等校内实习实训场地,建立了丽江艺术采风实习基地和不同层次的广告装潢、服装生产、幼儿教育等校外实习基地 11 个,保证了我系各专业的人才培养规格,为社会大力培养基础扎实、技能过硬、富有创新精神的适应市场需求的高素质艺术人才。[23]
体育工作部
体育工作部成立于2007年3月,是学院最年轻的系部,现设有办公室和体育教学、运动训练、群体活动、场管中心四个教研室,拥有专、兼职教师24人,其中本科毕业24人,占100%;副教授3人,占12.5%;讲师12人,占50%;助教9人,占37.5%,开设的《公共体育》课是省级精品课程。 在学院大力加强师资队伍建设工作的推动下,体育工作部教师的政治思想素质、教育教学能力、团队意识、敬业精神等不断提高,在运动专业特长、学历结构、职称结构、年龄结构上不断优化。学院聘请了西华师范大学校长陈宁教授、教育部体育专业委员会专家田忠兴、王树泽副教授,德阳市体育局高级教练刘小凯和杨杰同志等为客座教授,指导教育教学、课程建设、教学研究、运动训练等工作。 在课程设置上,体育工作部结合高等职业教育培养“应用型人才”的特点,以学生在校的全过程接受体育教育为宗旨,实施 “三自主” 教学模式,即“学生自主选择教学内容;自主选择任课教师;自主选择上课时间”,其中1—2学期为必修课, 2—6学期开设选修课。开设了篮球、足球、排球、网球、软式排球、乒乓球、羽毛球、武术、健美操、搏击、健美、形体塑造、体育舞蹈、体育游戏等课程,满足了学生不同的体育兴趣爱好。 学院建有篮球场20个,面积8400平方米;排球场地2个,面积为608平方米;足球练习场地1个,面积为21600平方米;标准田径运动场1个,面积为 17100平方米;羽毛球场12个,面积为 3152平方米;网球场地4个,面积为3125平方米;乒乓球活动区两个,面积为 288平方米;体育馆1个,面积4896平方米;艺体中心1个,面积为 528平方米,配备了排球、足球、拔河绳、杠铃、综合健身器械等种类众多的体育消耗器材,充分满足全院体育课堂教学和课外体育活动的需要。 学院学生运动队参加省、市各级比赛均取得了优异的成绩,为学院争得了荣誉。学生课体育活动形式多样,内容丰富形成浓郁校园体育文化。 同时,体育工作部全面贯彻实施学院“1221”办学模式,积极为社会搭建公共服务的平台,利用场馆和人才优势,先后承办了德阳市经济技术开发区职工运动会、德阳市银监局职工运动会、美丰股份有限公司职工文艺会演和运动会、德阳电业局网球友谊赛等大型比赛;指派教师担任西南石油研究院、德阳电业局、美丰公司、德阳市建设银行等队的篮球教练,帮助其提高篮球水平,取得了良好的社会效益,扩大了学院的社会影响力。
H. 求解一道excel的题目。。
你的条件区域没有说明。
假设你的“姓名”栏是“A列”,“性别”栏是“B列”,“年龄”栏是“C列”,共有60人(61行)。
在“E1”单元格输入以下公式即可解决:
=SUMIF($B$2:$B$61,"男",C$2:C$61)/COUNTIF($B$2:$B$61,"男")
注意:
1、公式输入完毕要同时按住“Shift+Ctrl”二键并同时回车;(之后公式会被一对“{}”引住)
2、除汉字外所有字符均在英文状态下输入。
I. 有没有软件可以直接修改java生成的class文件,比如把return a 改成return a+1,并直接保存为class文件
有
JasperReports与iReport 简介
简介 JasperReports是一款开源的报表打印组件,是开源代码组织sf.net中的一个java报表打印工程,可以以PDF, HTML或XML等多种形式产生报表,支持分页打印,并且可以制作各种类型的图表。Jasperreport是按照一个预定义的xml文档来组织报表的数据,这些数据来源多样,包括关系数据库(通过配置JDBC连接)、java容器对象(collection和arrays)。要完成报表的填充,必须先完成用于报表的xml文件,其过程是先产生报表设计对象,再序列化该对象,存储在磁盘或者网络,用于产生特定应用的表格数据。事实上,表单的设计过程就是用定义于xml文件中的java表达式来表现报表的设计。编辑过程中会有各种保证数据一致性的验证,最终会产生相关数据文档或填充数据的准备。 iReport也是开源组织sf.net中的一款免费软件,其主要作用是以可视化的方式升级生成JasperReport所使用的报表格式文件,因为JasperReport本身没有提供很好的可视化报表设计工具,iReport正好弥补了这个缺陷,因此我们常常将这两个工具结合起来使用。 JasperReports可以在这个地址得到: iReport 可以在这个地址得到: iReport的使用 iReport的安装 安装iReport首先需要在本机安装JDK,并对环境进行配置,最新版的JDK可以从 处下载并安装,然后配置windows环境变量,在path后面加入“;java的安装目录”,新建环境变量 JAVA_HOME :“java的安装目录” CLASSPATH:“java的安装目录\bin” 如果已经安装过JDK,则可以跳过这些步骤。然后从iReport的站点下载最新的版本的iReport,解压iReport在任意目录,解压后的文件里面有一个iReport.bat,通过双击,过大约30秒钟如果可以弹出iReport的主窗体即表明你的系统已经可以运行iReport了,如果不能弹出主窗体,一般是因为JDK没有正确被安装。在iReport中配置数据库使用iReport的第一步是配置数据库连接,选择菜单“资料来源/连接资料来源”,打开如下的对话框, 点击“New”,打开如下对话框,可以创建数据连接, 我们以创建JDBC数据源为例,在“Type of connection / datasource”列表中,选择“Database.JDBC.connection”,在“Name”中,为创建的新的连接取一个需要的名字,在JDBC Driver中,选择一个驱动,我们以Oracle为例,选择“oracle.jdbc.driver.OracleDriver”,在JDBC URL中输入JDBC连接,例如:“jdbc:oracle:thin:@localhost:1521:TANGO”,同时请在Username和Password中输入连接数据库的用户和密码。注意一点OracleJDBC的包必须在环境变量的CLASS_PATH中配置。全都创建好后,点击“Test”可以进行对数据库连接的测试。建立连接后,就可以对数据表进行查询,选择菜单“资料来源/报表查询”,打开如下对话框: 在“Report SQL query”页中,可以输入任意的sql数据来得到数据,当输完完整的sql语句后,iReport自动将所有字段列表列出,这些字段就是可以在报表制作过程中可以使用的变量。另外需要注意的是:当我们创建了多个数据源的时候,需要设定一个当前的数据源,选择菜单:“设定/设置当前数据源”,打开如下对话框: 可以在所有建立的数据源中设置当前使用的数据源。从java容器获得数据通过JDBC获得数据非常方便,但我们通常不会在设计期就确定完整的sql语句,通常我们在运行期都需要构造一些动态的sql,当然,我们可以通过编程的方式来构造sql并传递给iReport,但是复杂的sql语句不便于维护,也容易出错。JasperReports允许从java容器中获得数据,首先告诉iReport,java容器类的路径,选择菜单:“工具/classpath”,如图: 设置完路径后,再次选择菜单“资料来源/报表查询”,到“JavaBean Datasource”页,在Class Name中输入容器类的全路径,如下图: 点击“Read javabeans attributes”,容器中的字段就全部被读取了出来。至此为止,我们已经可以开始制作报表了。开始使用iReport iReport的开发界面和我们熟悉的delphi着名插件quickreport比较相似,整个页面由若干个band组成,每个band实现不同的显示方式。界面如下: 新建报表单击工具栏的第一个按钮“New Report”,或者通过菜单“报表/新增”进入创建报表菜单,如下图: 在报表名称栏内给创建的报表取个名字,然后是定义纸张的大小,iReport提供了多种预设尺寸,当然也可以选择自定义的页面尺寸,并提供两种定位方式,也即横向和竖向。在对话框的下半页,还可以设置页边距,列等等。当都设置完成,点击“OK”,完成新建动作。报表结构创建了一个新的报表后,我们来看看报表的结构。一个报表的结构大致是几个部分:title、pageHeader、columnHeader、detial、columnFooter、pageFooter、summary、groupHeader、groupfooter。 Title:每个报表一般会有一个名字,比如×××销售报表,title就是搁置这个名称的最好地方了,当然你也可以根据需要搁置在合适的地方。 pageHeader:报表的一些公共要素,比如页码、创建时间、创建人等信息放置在这里是比较好的选择。在每页头都会打印一遍 columnHeader:这里是放置列的名称,记住不是列数据。 Detial:放置需要循环的数据,比如销售记录数据。 columnFooter:放置列级别的统计计算值或是列的说明。 pageFooter:放置页级别的统计值或是页的说明。 Summary:可能需要对几页(你的报表可能有几个页组成)的统计值。比如50个销售记录共占用了3页,那么放置这些统计记录的统计值最好的地方就是summary。 groupHeader:每个表的内容可能需要根据某个属性进行划分显示内容和计算内容,比如希望以月份为单位每组分开显示销售记录,那么就可以定义一个组(组的定义参考后文),groupHeader就是放置组说明或是组标志最好的地方。 Groupfooter:放置组的统计或是说明。报表的动态对象变量、参数、字段在使用iReport的过程中会碰到很多与变量(Variables)、参数(Parameters)、字段(Fields)这些有关的内容,所以我们还是要先介绍这些对象的使用和意义:字段(Fields):来自数据库,或是java容器对象。这些内容是报表显示的主体内容,语法为$F。参数(Parameters):这是你的应用需要提供给报表的入口,比如你希望在报表被解释的时候提供Where语句的条件值,那么就可以使用参数(Parameters)。语法为$P,可以给报表提供多个参数,通过一个HashMap传入。使用参数前,参数必须在iReport中进行配置,如,我们需要在打印时得到打印操作人,我们创建一个参数打印人:printOperator。选择菜单“预览——报表参数”,打开如下对话框: 在参数页面,点击“新增”按钮,继续打开如下新增参数对话框: 在“Parameter name”内,填入参数名称:“printOperator”,在“Paramenter class type”选择框中,选择参数的类型,我们这里选择“java.lang.String”,在“Default value expression”中填入当传入的值缺失时的缺省值,因为iReport是纯java语言开发,因此支持任何java语句。在“Paramenter description”中可以对该参数进行一些描述。点击“OK”完成参数的创建。下面给出简单的程序调用实例: HashMap map = new HashMap(); Map.put(“printOperator”,”陈宁”); JasperFillManager.fillReport(jasperReport,map,ds); 变量(Variables):这是报表中一些逻辑运算的表现,比如统计值(求和,最大值,最小值等等)。语法为$V,例如我们要对定单金额进行求和,假设定单金额的数据库字段为amt,我们现在创建变量名为totalAmt的对定单金额进行汇总的变量,点击菜单“预览/报表变量”,打开如下对话框: 我们看到iReport已经为我们预先定义了五个有用的变量,供我们使用,具体含义如下: • $V: 报表处理的记录笔数 • $V: 打印时的页码 • $V: 本页处理的记录笔数 • $V: 报表的直栏数目 • $V: 本栏的处理笔数 • $V: 群组Band的处理笔数,建立群组时会自动产生的变量其中最后一个变量是根据分组情况自动生成的。我们现在新增一个自己定义的变量,点击“新增”,打开新增变量对话框: 在“Variable name”中,输入变量名:“totalAmt”,在“variable class type”中选择变量的类型“java.math.BigDecimal”,在“Calculation type”中选择计算的类型,这里是求和“Sum”,在“Variable expression”中输入变量的表达式,我们这里是取数据库中的字段amt,所以写成“$F”,请注意。当我们正确的配置了数据来源后,当我们输入的表达式正确,那么显示的颜色是绿色的的,当不能正确写对表达式的时候,是如图所示的蓝色。然后我们在“initial value expression”中输入初始化的值,这里同样输入java语句:“new java.math.BigDecimal(0)”。点击“OK”,完成参数的设置。在报表页面放置元素 iReport的工具栏提供了丰富的元素,从简单的内容到包括图形,分组报表都支持。我们主要介绍两类,一类为静态文本,一类为动态文本。这两个工具按钮如下: 点击“T”的工具按钮,打开添加“静态文本”的对话框。 他的用法比较简单,有一些计算机使用经验的人都能看懂,就不在这里介绍了。这里只说一点:要显示的内容是在Static Text页面中输入,在Print when expression中,可以接受返回类型为Boolean的java表达式,当返回Boolean.TRUE,才会打印该静态文本,当返回为Boolean.FALSE则不打印,在本文后面会介绍利用这个特性打印黑白交替的行显示效果。我们再看看动态文本,点击“F”,打开如下对话框: 动态与静态文本大致类似,动态文本在“Text Field”中接受表达式,在“Textfield expression”中,输入动态表达式“$F”,如图,绿色代表输入正确。在Pattern中,还可以输入数据显示的格式。制作报表有了上面的基本知识,我们就可以开始制作报表了。我在制作报表中,考虑了以下的思路。首先,取数据通过java容器,而不是直接连接数据库,这是因为我们制作的报表通常都比较复杂,很难直接通过一个简单的sql语句来实现,就算我们可以写一个复杂的select语句来实现一个报表的查询,但是对于以后的维护和排错也是相当困难的,因此不建议这样的做法。从另一个角度考虑,报表的很多查询条件是根据用户的输入来动态的创建的,我们在后台对数据进行整理和加工都会使程序的调试和实现变得简单。我创建了数据容器类:ReportBaseObject,非常简单,部分代码如下: public class ReportBaseObject public void setB_data_1(BigDecimal b_data_1) …… public Date getD_data_1() public void setD_data_1(Date d_data_1) …… public Integer getI_data_1() public void setI_data_1(Integer i_data_1) …… public String getS_data_1() public void setS_data_1(String s_data_1) …… } 这是一个通用的数据容器,容器中定义了20个字符类型的字段,20个数字类型的字段,10个日期和10个整型,这个容器对于任何报表都适合,这样做是基于以下考虑。我把报表制作分为两个部分,第一部分是用iReport制作报表界面,第二部分在后台根据用户传入条件取得报表需要的数据。而第一部分可以由项目人员在现场制作后后期进行修改,而第二部分由开发人员完成,因此要求这两部分的工作可以分离,通过提供一个通用对象,我们可以实现这一目的。工程人员在现场和客户洽谈需求,并在没有数据的情况下,开始制作报表界面,他们所要做的就是用一张表格列出他们需要的数据的含义:如: baseObject 对应字段 说明 报表编号:01_001 S_data_1 单号 S_data_2 单据类型 D_data_1 要货日期 D_data_2 批准时间 B_data_1 应付金额 B_data_2 已付金额 在与用户确认了界面后,工程人员将表格传递给开发人员,开发人员就根据表格所标注的字段意义给容器填写数据。以下是我画的报表截图: 显示不同的背景如下图所示,我们希望打印出灰白相间的行效果,可以利用上文提到的“print when expresssion”属性来实现,具体做法有两种: 在同一列上放相同字段的TextField,一个不设背景(预设为白色),另一个设背景(淡黄色) 白色背景的Print when expression输入new Boolean((($V.intValue()) % 2)==0) 灰色背景的Print when expression输入new Boolean((($V.intValue()) % 2)==1) 另一个方法是先在Detail Band上拉一个矩形,设其背景为淡黄色,设其Print when expression为new Boolean((($V.intValue()) % 2)==1),意即奇数列时才要印出这个淡黄底色的矩形。再设其前景为白色,使矩形边界的黑框消失。在矩形上放需要的Text Field,并将其Transparent打勾,意即此Text field是透明的。
调用IE内置打印组件完成web打印方案及例程
重点:
<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 VIEWASTEXT>
</OBJECT>
<input type=button value=打印 onclick="document.all.WebBrowser.ExecWB(6,1)" class="NOPRINT">
<input type=button value=直接打印 onclick="document.all.WebBrowser.ExecWB(6,6)" class="NOPRINT">
<input type=button value=页面设置 onclick="document.all.WebBrowser.ExecWB(8,1)" class="NOPRINT">
<input type=button value=打印预览 onclick="document.all.WebBrowser.ExecWB(7,1)" class="NOPRINT">
注意:
1、CSS对打印的控制:
<!--media=print 这个属性可以在打印时有效-->
<style media=print>
.Noprint
.PageNext
</style>
Noprint样式可以使页面上的打印按钮等不出现在打印页面上,这一点非常重要,因为它可以用最少的代码完成最需要的功能
PageNext样式可以设置分页,在需要分页的地方<div class="PageNext"></div>就OK了,呵呵
2、表格线粗细的设置,更是通过样式表:
<style>
.tdp
{
border-bottom: 1 solid #000000;
border-left: 1 solid #000000;
border-right: 0 solid #ffffff;
border-top: 0 solid #ffffff;
}
.tabp
{
border-color: #000000;
border-collapse:collapse;
}
</style>
或者:
<style>
.TdCs1 {
border:solid windowtext 1.0pt;
}
.TdCs2 {
border:solid windowtext 1.0pt; border-left:none;
}
.TdCs3 {
border-top:none;
border-left:solid windowtext 1.0pt;
border-bottom:solid windowtext 1.0pt;
border-right:solid windowtext 1.0pt;
}
.TdCs4 {
border-top:none;
border-left:none;
border-bottom:solid windowtext 1.0pt;
border-right:solid windowtext 1.0pt;
}
.underline {
border-top-style: none;
border-right-style: none;
border-bottom-style: solid;
border-left-style: none;
border-bottom-color: #000000;
}
</style>
很多种打印的方式了,你走走脑子上网艘艘,没有找不到的
给你个打印excel例子,跟上面的不同
下载一个叫jcom的lib,鬼子做的
把包里的jcom.jar放到classpath,把jcom.dll放到java_home/bin下面
public class JCOM {
public boolean print(String fname) {
ReleaseManager rm = new ReleaseManager();
try {
ExcelApplication excel = new ExcelApplication(rm);
ExcelWorkbooks xlBooks = excel.Workbooks();
ExcelWorkbook xlBook = xlBooks.Open(fname);
ExcelWorksheet xlSheet = excel.ActiveSheet();
xlSheet.PrintOut();
xlBook.Close(false, null, false);
excel.Quit();
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
rm.release();
}
return true;
}
public static void main(String[] args) {
JCOM test = new JCOM();
try {
test.print("c:\\test.xls");
} catch (Exception e) {
e.printStackTrace();
}
}
}