精华内容
下载资源
问答
  • 分割的文本文件,被excel读取之后可以显示于电子表格内,但是支持的效果不好,比如不能固定表格的宽高,不能设置单元格背景,不能设置复杂的表格样式,不能添加各种运算函数,不能设置打印区域,只能显示,充其量是个数据文件...

    对于excel支持的csv和xls格式的报表,一直以为xls生成较难一些,因为csv只是多行以","分割的文本文件,被excel读取之后可以显示于电子表格内,但是支持的效果不好,比如不能固定表格的宽高,不能设置单元格背景,不能设置复杂的表格样式,不能添加各种运算函数,不能设置打印区域,只能显示,充其量是个数据文件.

    php生成csv很简单,但是对于生成可以完成很多功能的xls格式却有点力不从心,(据说需要调用微软的com组件,php还需要安装扩展),用记事本读取xls,满屏的乱码,找不到头绪.

    从网上找过一个php写入xls文件的类,很简单,只有5个方法,但是是生成最简单的xls文件,比csv强不到哪里.但是,我从类里却看出了一点门道,这个类输出的是个xml代码,然后放出几个header声明了MIME类型,这样下载下来就是以xml写的xls格式文件.那么就是说,excel同样支持xml显示数据(这个我是刚知道的,)

    于是我新建了一个xls文档,用excel打开,输入简单数据和设置了下格式之后,另存为 xml 表格 格式,然后让excel打开这个xml文件,数据和格式都完整显示了.假如将这个xml的后缀改成xls,肯定也没问题了.

    那么我们拿着这个xml文档用作模板让php读取,去动态输出数据,然后和那个类一样,抛出几个关键的header,就能搞定xls格式的报表下载了.

    我一直使用thinkphp框架做php开发,设置的模板默认后缀为html,肯定不能读取xml的后缀,所以如果应用于框架级别的模板,你需要修改后缀xml为html等需要的.对于smarty模板引擎就完全不用担心了.

    下面是个我生成的xml:

    <?xml version="1.0"?>
    <?mso-application progid="Excel.Sheet"?>
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
     xmlns:o="urn:schemas-microsoft-com:office:office"
     xmlns:x="urn:schemas-microsoft-com:office:excel"
     xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
     xmlns:html="http://www.w3.org/TR/REC-html40">
     <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
      <Created>1996-12-17T01:32:42Z</Created>
      <LastSaved>2010-09-04T07:06:33Z</LastSaved>
      <Version>11.9999</Version>
     </DocumentProperties>
     <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
      <RemovePersonalInformation/>
     </OfficeDocumentSettings>
     <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
      <WindowHeight>4530</WindowHeight>
      <WindowWidth>8505</WindowWidth>
      <WindowTopX>480</WindowTopX>
      <WindowTopY>120</WindowTopY>
      <AcceptLabelsInFormulas/>
      <ProtectStructure>False</ProtectStructure>
      <ProtectWindows>False</ProtectWindows>
     </ExcelWorkbook>
     <Styles>
      <Style ss:ID="Default" ss:Name="Normal">
       <Alignment ss:Vertical="Bottom"/>
       <Borders/>
       <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
       <Interior/>
       <NumberFormat/>
       <Protection/>
      </Style>
      <Style ss:ID="s21">
       <Borders>
        <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
       </Borders>
      </Style>
     </Styles>
     <Worksheet ss:Name="Sheet1">
      <Names>
       <NamedRange ss:Name="Print_Area" ss:RefersTo="=Sheet1!R1C1:R17C5"/>
      </Names>
      <Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="3" x:FullColumns="1"
       x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
       <Column ss:AutoFitWidth="0" ss:Width="52.5"/>
       <Column ss:Index="3" ss:AutoFitWidth="0" ss:Width="65.25"/>
       <Column ss:AutoFitWidth="0" ss:Width="81"/>
       <Row ss:AutoFitHeight="0">
        <Cell ss:StyleID="s21"><Data ss:Type="String">栏位1</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">栏位2</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">栏位3</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">栏位4</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">栏位5</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
       </Row>
       <Row ss:AutoFitHeight="0">
        <Cell ss:StyleID="s21"><Data ss:Type="Number">23</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="Number">23</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="Number">234</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="Number">4</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="Number">34</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:Formula="=SUM(RC[-5]:RC[-1])"><Data ss:Type="Number">318</Data></Cell>
       </Row>
       <Row ss:AutoFitHeight="0">
        <Cell ss:StyleID="s21"><Data ss:Type="Number">23</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="Number">23</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="Number">234</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="Number">4</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="Number">34</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
       </Row>
      </Table>
      <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
       <Unsynced/>
       <Selected/>
       <FreezePanes/>
       <FrozenNoSplit/>
       <SplitVertical>3</SplitVertical>
       <LeftColumnRightPane>3</LeftColumnRightPane>
       <ActivePane>1</ActivePane>
       <Panes>
        <Pane>
         <Number>3</Number>
        </Pane>
        <Pane>
         <Number>1</Number>
         <ActiveRow>5</ActiveRow>
         <ActiveCol>6</ActiveCol>
        </Pane>
       </Panes>
       <ProtectObjects>False</ProtectObjects>
       <ProtectScenarios>False</ProtectScenarios>
      </WorksheetOptions>
     </Worksheet>
    </Workbook>
    

     

     

     

    这段xml本来有三个Worksheet,对应三个工作表,对于最后没用到的那俩就删除了,只保留了第一个.(这个可以根据需要添加),唯一的一个工作表标记<Worksheet ss:Name="Sheet1">,我们很简单就能看出来Sheet1是该工作表的名称,这个地方可以是动态设置的.

    <Names>
       <NamedRange ss:Name="Print_Area" ss:RefersTo="=Sheet1!R1C1:R17C5"/>
      </Names>
    这段是声明该工作表的打印区域,后面的属性不太懂,貌似是个参考的打印区域.实际的打印区域在后面设置.

    <Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="3" x:FullColumns="1"
       x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
    这段很重要,对于需要表格线显示的xls,会自动出现这个table标记,属性ExpandedColumnCount是列数,一般列数是固定的,如果不固定请动态设置这里.ExpandedRowCount是行数,而行数一般是不固定的,所以需要设置这里和下面的数据行数一致.如果这两个属性和实际的数据行数和列数不一致,excel就会报错.一定要注意.

    <Column ss:AutoFitWidth="0" ss:Width="52.5"/>
    这种是设置列属性的,一般让excel去做这部分,不需要手工去改.

    <Row ss:AutoFitHeight="0">
        <Cell ss:StyleID="s21"><Data ss:Type="String">栏位1</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">栏位2</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">栏位3</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">栏位4</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">栏位5</Data><NamedCell
          ss:Name="Print_Area"/></Cell>
       </Row>

    好了,上面是一行数据,和html的table里的

    <tr>

    <td>...</td>

    </tr>

    是不是很像?

    你只需要动态输出Data标记间的数据就行了,显示的效果让excel去做,千万注意cell的个数和row行数,一定要和table标记里的那两个属性一致.

    <Cell ss:Formula="=SUM(RC[-5]:RC[-1])"><Data ss:Type="Number">318</Data></Cell>
    这个单元格是在excel里设置过函数的

     

     

    通观这大段的xml代码,实际需要我们操作的很少,很多只需要在excel里面设置好就行了.

     

    了解了excel支持的这段xml格式,你还头疼xls格式的报表下载吗? 呵呵

    展开全文
  • 创建和使用报表

    2013-06-20 20:50:21
    报表是Access用来打印数据库信息的对象。它的主要功能就是根据需要将数据库中的有关数据提取出来进行整理、分类、汇总和... 报表和窗体这两种对象有着本质的区别:报表只能查看数据,而窗体可以改变数据源中的数据
  • 要使用Ireport,首先都要配置生成模版,小弟到目前为止只用过两种方式,一种是使用JDBC数据源方式,就是在Ireport里写SQL语句,将需要的字段在SQL语句里输出出来,然后再拖拉构造模版文件。当报表比较复杂时,这种...
    使用报表开发工具Ireport生成Pdf报表的总结

    一、个人总结

    要使用Ireport,首先都要配置生成模版,小弟到目前为止只用过两种方式,一种是使用JDBC数据源方式,就是在Ireport里写SQL语句,将需要的字段在SQL语句里输出出来,然后再拖拉构造模版文件。当报表比较复杂时,这种情况就需要写一些非常复杂的SQL语句,刚开始学习用Ireport时,以为只能这样生成模版,每天写一大堆SQL,很容易错不说,还弄得人头昏脑胀,痛不欲生啊,所幸,Ireport还有使用JavaBean作为数据源的方式。这两种方式使用起来个人感觉最主要的区别就是

    JavaBean方式:

    JRDataSource dataSource  = new JRBeanCollectionDataSource(mapList);
    JasperReport  jasperReport = (JasperReport) JRLoader.loadObject(file);
    jasperPrint = JasperFillManager.fillReport(jasperReport, null, dataSource);

     这种方式使用的是JasperFillManager.fillReport(jasperReport, parameters, dataSource),其中dataSource是通过传入的对象列表List<T>构造的 。

    而JDBC方式:

    Class.forName("com.mysql.jdbc.Driver");  
    Connection conn= DriverManager.getConnection("jdbc:mysql://localhost/test","root","root");  
    JasperFillManager.fillReport(jasperReport, parameters, conn);

     

    InputStream inputStream = getServletConfig().getServletContext().getResourceAsStream("report.jasper");           
    JasperPrint jasperPrint = JasperFillManager.fillReport(inputStream, parameters,connection);  

     

    这这种方式使用的是JasperFillManager.fillReport(jasperReport, parameters, connection)、JasperFillManager.fillReport(inputStream, parameters, connection)最后一个参数是JDBC中的Connection

     

    二、生成模版

    JDBC方式比较简单,就不介绍了。下面只介绍JavaBean模式(小弟比较懒,下面只讲重点,废话就不多说了):

    1、新建一个JavaBean类:

    package com.techson.trms.testIeport;

    public class CustomBean {
        
        private String city;  
        private Integer id;  
        private String name;  

        public String getCity() {
            return city;
        }
        public void setCity(String city) {
            this.city = city;
        }
        public Integer getId() {
            return id;
        }
        public void setId(Integer id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }    
    }

     2、配置Ireport的ClASSPATH为编译好的.class文件的路径 ,如图:


    3、指定数据源:

    在网上看到许多网友的这步的配置,发现有两种情况,一种是使用默认的数据源,一种是自己配置的数据源,刚开始时,还以为其中有一个错了,后来才发现,其实这根本没有关系的,只不过使用自己配置的数据源的,Preview时可以显示出预览数据,仅此而已。


     

    默认数据源:


    自己定义的数据源:

    新建CustomFactory 数据源类:

    public class CustomFactory {

        public static Collection<CustomBean> getBeans(){
            
            List<CustomBean> list = new ArrayList<CustomBean>();
            for(int i = 0 ;i<12;i++){
                CustomBean c = new CustomBean();
                c.setCity("city:"+i);
                c.setId(i+50);
                c.setName("name:"+i);
                list.add(c);
            }        
            return list;
        }
    }

     

     

    Factory class(the class that will produce the set): 为自己的CustomFactory的全路径。

    下面输入的是类中定义的静态方法。

     

    4、获取属性

    在JavaBeanDataSource中输入自己新建的Bean类的全路径,点“Read Attributes” ,读取属性,选中需要的属性,加入到下面,然后点“OK”:


    5、往模版中拖拉属性:


    大致意思一下,咱主要说功能,美观方面就先不说了,呵呵。保存,模版文件example.jasper就生成了。可在Ireport中直接编译生成jasper文件,也可由程序自己生成。

     

    三、项目中使用模版生成PDF文件

    直接上代码:

    点击“导出到PDF”

    function doExport(){
                    var time = new Date();
                    window.open("<%=path%>/printEmail.do?doAction=pdf&time="+time,"window","menubar=no,status=no,resizable=no,scrollbars=1,width=800pt,height=600pt,top=100,left=300");
                }

     

    进入这个Action(小弟用的是struts1,比较老,呵呵):

        @Override
        public String process(ActionForm form, HttpServletRequest request)
                throws Exception {

            HttpSession session = request.getSession();
            List<CustomBean> list = new ArrayList<CustomBean>();
            for(int i = 0 ;i<12;i++){
                CustomBean c = new CustomBean();
                c.setCity("city:"+i);
                c.setId(i+50);
                c.setName("name:"+i);
                list.add(c);
            }
            String fileName =createPDFByXmlName("example", list, session);
            session.setAttribute("PDFNAME", fileName);
            return "success";
        }

     

        public static String createPDFByXmlName(String reportName, List mapList,HttpSession session) throws UnsupportedEncodingException, JRException {
            String path = "WebRoot/reports";
            if (session != null) {
                path = session.getServletContext().getRealPath("reports");
            }
            JasperReport jasperReport;
            JasperPrint jasperPrint;        
            
            try {
                File file = new File(path + "/" + reportName + ".jasper");
                //如果jasper文件不存在,就调用jrxml文件编译生成
                //JasperCompileManager.compileReportToFile(String sourceFileName, String destFileName)
                if (!file.exists()) {
                    JasperCompileManager.compileReportToFile(path + "/"+ reportName + ".jrxml",path + "/"+ reportName + ".jasper");
                }

                jasperReport = (JasperReport) JRLoader.loadObject(file);
                
                JRDataSource dataSource  = new JRBeanCollectionDataSource(mapList);
                    //此处为关键,将对象列表设为数据源            
                jasperPrint = JasperFillManager.fillReport(jasperReport, null, dataSource);
                    //因模版上没有传入参数,所以此处第二个参数为空

                String fileName = "pdf/"+reportName+session.getId()+".pdf";        
                File fi = new File(path+"/pdf");
                if(!fi.exists()){
                    fi.mkdir();
                }            
                //生成方法1
                JRPdfExporter exporter = new JRPdfExporter();
                exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint);
                exporter.setParameter(JRPdfExporterParameter.CHARACTER_ENCODING,"UTF-8");
                exporter.setParameter(JRPdfExporterParameter.OUTPUT_FILE_NAME, path+"/"+fileName);
                                    //注意此处用的不是JRPdfExporterParameter.OUTPUT_FILE,要用这个,还需新建File
                exporter.exportReport();
                
                //生成方法2
                try {                    
                    JasperExportManager.exportReportToPdfFile(jasperPrint,path+"/"+fileName);
                } catch (Exception e) {
                    e.printStackTrace();
                }        
                session.getServletContext().setAttribute("FilePath", path+"/pdf");
                return fileName;
            }catch(JRException e){
                e.printStackTrace();            
                throw new JRException(e);
            }
        }

     代码注释里写的很详细了。。。

    其实到这就已经介绍完了,不过既然写了,就弄完吧,o(∩_∩)o 哈哈

     

    成功后跳转:

    <action path="/printEmail" type="com.techson.trms.struts.action.PrintEmailAction">
                <forward name="success" path="/printEmail.jsp" />
            </action>

     printEmail.jsp文件:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
        org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory
                .getLog("print.jsp");
        log.warn(" enter print.jsp");
        String path = request.getContextPath();
        String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <script type="text/javascript">
          function init(){
              var time = new Date();
              var url='<%=basePath %>'+"reports/"+'${PDFNAME}'+"?doAction=pdf&time"+time;
              window.location.href=url;
          }
      </script>
      </head>
      <body οnlοad="init();">

     


     最后实现的效果是点击导出PDF文件后,弹出一个浏览器框,提示下载。

    最后效果:


     

    This is  all !  o(∩_∩)o 哈哈

     

    另:

    实际调试中发现代码到编译jrxml文件为jasper文件时死活过不去,替换了groovy.jar架包为groovy-1.5.7.jar后,还不行,又替换为本文所使用的Ireport3.7.6中的groovy-all-1.7.5.jar,编译通过!Game Over !
    展开全文
  • 报表开发遇到问题

    2014-11-27 14:28:39
    1.输出小于1大于0的小数时,不要按照字符串格式(pkg及rtf)输出,否则会导致小数点前‘0’消失 部分函数的返回值会自动去掉0。 2.条形码只能被手机扫描,无法被pda扫描。 @1 报表开头:添加文本域,并添加如下...
    1.输出小于1大于0的小数时,不要按照字符串格式(pkg及rtf)输出,否则会导致小数点前‘0’消失
    部分函数的返回值会自动去掉0。
    2.条形码只能被手机扫描,无法被pda扫描。
    @1
    报表开头:添加文本域,并添加如下代码,引用java包
    <?register-barcode-vendor:'oracle.apps.xdo.template.rtf.util.barcoder.BarcodeUtil';'XMLPBarVendor'?>
    @2
    条形码:添加如下代码
    <?format-barcode:labe_name;'code128a';'XMLPBarVendor'?>

    3.在form里能查到数据,将查询代码复制到pl/sql后却不能查出数据?

    初始化:
    Begin
    Mo_global.init(‘CUX’)
    END;

    4.如何获取系统配置文件的值?
    Fnd_profile.value(‘’);
    5.如何获取当前用户可访问的ou实体?
    @1:
    Select organization_id,name
    from hr_operating_units ou
    where mo_global.org_access(ou.organization_id) = ‘Y’
    //亦可使用值集AR_SRS_OPERATING_UNITS
    @2:
    系统管理-->并发-->程序(找到自己定义的并发程序)-->请求;设置“业务实体模式”为单个。
    6.当前值集的条件要用到其他值集的结果?
    可以用如下方式引用其他值集的返回值: :$FLEX$.VALUE_SET_NAME 或 :$FLEX$.parameter_name
    7.报表参数是日期怎么处理?
    8.Form个性化?
    9.动态SQL?
    @1,单引号做转义符:
    SELECT ''''||'''1''' from dual
    展开全文
  • 在使用博计报表的过程中,对于一些特殊的需求,报表单元格内只有属性值和表达式是不够的,比如要在报表生成时的标题中输出显示一些特殊字符。有些报表工具要实现这种特殊字符的展现只能通过使用图片的方式解决,非常...

    在使用博计报表的过程中,对于一些特殊的需求,报表单元格内只有属性值和表达式是不够的,比如要在报表生成时的标题中输出显示一些特殊字符。有些报表工具要实现这种特殊字符的展现只能通过使用图片的方式解决,非常麻烦。方便易用的博计报表,面对此类需求,则有着灵活的解决方案。

    首先来看一下博计报表对设置单元格的”格子数据类型”的多样选择:普通文本、图片文件、图片字段、统计图、子报表、空白单元格、HTML文本、条形码。可以看到博计报表的单元格是支持HTML的,利用这个属性就可以充分扩展博计报表的功能,达到对特殊字符显示要求的支持,因为在HTML中有很多针对这些特殊字符的标签,我们调用这些标签就可以轻松解决这个问题。

    下面举几个实现展现特殊字符例子:

    7<sup>2</sup>:数字7实现上标2,即显示 72

    7<sub>2</sub>:数字7实现下标2,即显示 72

    &reg:注册商标 ®

    在具体进行报表设计时,首先右键将单元格类型选择为html文本,之后就可以根据需要引入这些显示特殊字符用的标签了,设计界面如下:

    1.png

    在web上显示的效果是:

    2.png 

    .net报表工具教程

    .net报表系统知识库

    展开全文
  • Reporting Services 是报表集中化管理的一个很好的工具。但现在有一个项目要求对同一个报表需要按照不同登录者所管辖的区域...那么总监级别的人员就可以看到所有店铺的销售数据,但是负责广东区域的区域经理就只能看...
  • 数据运营思维导图

    2018-04-26 14:24:22
    数据可视化、输出报表、趋势预测 留存分析 留存(次~7日、14日、30日) 解决问题 用户对游戏的适应性 用户对于游戏的粘性 评估渠道用户的质量、投放渠道效果评估 新增用户什么时候流失在加剧? 注意事项 ...
  • 2019数据运营思维导图

    2019-03-29 21:34:09
    怎么做 数据收集 数据太多可以采用抽样的方法 数据建模 根据所获取到的数据建立模型,注入数据调整模型参数 数据分析及预测 数据可视化、输出报表、趋势预测 留存分析 留存(次~7日、14日、30日) 解决问题 用户对...
  • 使用C#向Excel中写数据

    2008-06-24 10:25:00
    所以在我们的系统中输出报表的时候都需要输出为Excel。我使用的是VS 2003 其中对使用Excel没有提供很方便的工具。只能自己把Excel的Com组件添加进来。 但是在使用Com组件提供的类型的时候,很多方法的返回值或者参数...
  • 使用C#向Excel中写数据

    2009-06-08 17:36:00
    所以在我们的系统中输出报表的时候都需要输出为Excel。我使用的是VS 2003 其中对使用Excel没有提供很方便的工具。只能自己把Excel的Com组件添加进来。 但是在使用Com组件提供的类型的时候,很多方法的返回值或者参数...
  • java List的排序

    2019-02-21 11:27:27
    由于报表数据是分段获取的,不能在获取时排序,只能输出时排序。 有两种情况,一种是表头排序,另一种数据。 表头,可以使用如下方法,先定义原始数据表头,在输出时位于第几列: private static final Map&...
  • 用友华表CELL插件Demo

    2021-04-27 10:53:47
    用友华表的CELL插件是一款基于ActiveX技术的解决中国式报表显示和打印的第三方控件, 和其它第三方ActiveX控件一样,用友华表CELL插件只能运行在客户端,只能使用JAVASCRIPT、VBSCRIPT客户端语言操纵控件,进行直接...
  • showDialog里好像不能用href,只能用onclick 最近在项目中经常用到模态窗口... 在按钮的Click事件中,根据模板生成Excel报表,填充数据,保存到临时文件夹,然后用Response.WriteFile函数输出文件,一切看上去都
  • 首先,我们得明白itext是一个用于将数据以pdf文件格式类型输出的java开源组件,因为它简单直接,所以常常被用于将报表以pdf文件格式类型输出。  以前接触过HSSH这样的POI来输出EXCEL文件类型的报表,所以再接触这个...
  • showDialog里好像不能用href,只能用onclick 最近在项目中经常用到模态窗口... 在按钮的Click事件中,根据模板生成Excel报表,填充数据,保存到临时文件夹,然后用Response.WriteFile函数输出文件,一切看上去都很
  • showDialog里好像不能用href,只能用onclick 最近在项目中经常用到模态窗口... 在按钮的Click事件中,根据模板生成Excel报表,填充数据,保存到临时文件夹,然后用Response.WriteFile函数输出文件,一切看上去都很
  • 1、只能使用C语言,源程序要有适当的注释,使程序容易阅读。 2、要有用户界面。要求至少采用文本菜单界面;鼓励采用图形菜单界面。 3、必须使用结构和十字交叉链表等数据...5、至少输出一份报表,鼓励自行增加新功能。
  • 行统计由于GROUP BY 字句与列聚集函数配合,实现了指定列数据的统计,但是其输出结果只能看到最后的计算值,不能同时浏览被统计列的原始值,而这种显示原始数据同时输出统计值的格式,在许多场合,尤其报表中,是很...
  • vc++电费管理系统

    2009-12-01 22:35:44
    1)系统预设一个超级管理员,超级管理员创建管理员帐户,管理员可以查询、修改数据,客户只能查询数据。 2) 建立文件dianfei0.dat用来存储30个用户的编号、姓名、时间、用电量、交费等信息,其中用电量和电费初始值...
  • showDialog里好像不能用href,只能用onclick 最近在项目中经常用到模态... 在按钮的Click事件中,根据模板生成Excel报表,填充数据,保存到临时文件夹,然后用Response.WriteFile函数输出文件,一切看上去都很顺利。...
  • 某个报表字段需要展示出层级关系,写了一个方法只能实现单个数据输入输出。 将该方法写入行加载事件后因每日数据量太大,导致每次查询死机。 于是考虑将该展示写到提示符中,实现每次鼠标移到单元格上方时展示该行...
  • 输入:学生的录取通知书号,输出查询信息与新生宿舍情况表、新生组织关系交缴表、新生学费交缴情况表、新生档案交缴情况表等几个报表 输出:学生基本信息和分配的宿舍 4. 安全和保密要求 系统对不同的权限的用户提供...
  • 利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...
  • 利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...
  • 利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...
  • 利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...
  • 利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 126
精华内容 50
关键字:

报表只能输出数据