精华内容
下载资源
问答
  • 有时为了方便我们一般会通过截图快速进行信息传送,但查看虽然方便但修改起来就比较复杂,比如有些图片中的内容是表格数据,如果用Excel汇总计算就比较快,那么如何将手机图片中的表格导出来呢? 目前有一些工具可以...

    有时为了方便我们一般会通过截图快速进行信息传送,但查看虽然方便但修改起来就比较复杂,比如有些图片中的内容是表格数据,如果用Excel汇总计算就比较快,那么如何将手机图片中的表格导出来呢?

    目前有一些工具可以进行OCR文字识别,一般都是以Word或txt格式文档保存,所以如果我们需要将图片导出Excel格式不适用此方式,但是我们可以先将图片导成PDF后,再将PDF转Excel就是我们常用的文档转换操作了,那么手机端要如何操作呢?

    首先打开手机浏览器搜索speedpdf这个在线转换工具后,打开网页选择页面中的“JPG to PDF”进入转换页面;
    在这里插入图片描述

    接着点击上传文件区域并选择手机里所有需要识别的图片添加(这样可将所有图片表格识别后在同一个Excel文件中),并点击convert开始转换;
    在这里插入图片描述

    转换完成后点击下载PDF即可;接着再选择左侧工具栏中PDF to Excel进入转换;
    在这里插入图片描述

    将上一步中下载的PDF上传并转换完成后,再次下载得到我们需要的Excel表格文件。
    在这里插入图片描述

    展开全文
  • 数据报告年年有,是每次做好表格,图表复制粘贴?还是整个报告做成一个报表...在很多业务场景中需要在 word 文档中嵌入报表。比如下图这个报告: 这是一个某大学年度毕业生就业报告,其中表格和统计图数据来...

    数据报告年年有,是每次做好表格,图表复制粘贴?还是整个报告做成一个报表一起导出 word?都不妙,智能的办法就是哪里需要更新自动更新哪里,做好一次,往后每年一键生成报告,是不是更给力?想知道具体做法,不妨去乾学院看看:怎样自动把报表插入到 word 文档中

    在很多业务场景中需要在 word 文档中嵌入报表。比如下图这个报告:

     

    这是一个某大学年度毕业生就业报告,其中表格和统计图的数据来自数据库,如果通过报表工具,制作这样的表格和统计图是轻而易举的事情,但如果要把这些报表和统计图做到 word 报告里就麻烦很多。以往有两个办法:一个是每次做好报表和统计图之后,导出为 word,再手工复制粘贴到 word 报告中;第二个是把整个报告都做成一个报表模板,然后再一起导出为 word。 方法一,纯手工操作效率低;方法二,报表工具排版能力有限,生成的 word 版面效果不够完美。

    那么,还有什么好办法呢?

    通常这类报告都有规定的模板样式,只是要定期替换里面的个别信息,比如上图所示的文档编号,报告时间,标题里的年度,图片,每个章节下的报表和统计图,这些信息是动态变化的,而其他文字描述部分以及整体样式都是固定不变的。所以,如果能把报表嵌入 word 文档做成流水线式的自动化过程,那就是一件两全其美,事半功倍的事情。

    润乾报表就提供了把报表嵌入 word 的功能,实现步骤如下:

    1、制作 word 模板,将需要插入内容的位置设置好书签

    比如我们开篇看到的大学毕业生就业报告,我们可以先做成如上图所示的 word 模板,图示绿色线框位置就是需要定期更新的部分,预先在这些位置插入书签(比如书签名为:编号,时间,logo,年度,报表,统计图),以此标记要插入到 word 的内容对应插入到什么位置。

    2、制作报表,这一步就不详述了。

    3、调用润乾报表的 raqsoft.report.view.oxml.word.DocxChanger 里的方法,将图片,文本,报表等内容插入到指定书签位置,生成新的 word 报告。

    eg:

    //设置报表授权文件
    File flic = new File("c:/tmp/report5.lic");
    FileInputStream lis = new FileInputStream(flic);
    Sequence.readLicense( Sequence.P_RPT, lis);

    File f = new File("E:/test.docx");               //模板文件
    File of = new File("D:/out.docx");             //输出文件
    … …
    FileOutputStream fos = new FileOutputStream(of);
    DocxChanger dc = new DocxChanger(f, fos); //实例化DocxChanger

    //在书签“编号”,“时间”,“年度”处插入文字
    dc.insertText("编号", "12345678");
    dc.insertText("时间", "20170730");
    dc.insertText("年度", "2017");

    //在书签“logo”处插入图片文件
    File f1 = new File("d:/logo.png");
    dc.insertImage("logo", f1);

    //在书签“报表”,“统计图”处插入报表和统计图
    File f2 = new File("d:/毕业去向.rpx");
    FileInputStream fis = new FileInputStream(f2);
    IReport report = ReportUtils.read(fis);
    fis.close();
    Context context = new Context();
    … …  
    Engine engine = new Engine((ReportDefine) report, context);
    report = engine.calc();
    dc.insertReport("报表", report);

    File f3 = new File("d:/留学.rpx");
    FileInputStream fis2 = new FileInputStream(f3);
    IReport report2 = ReportUtils.read(fis2);
    fis2.close();
    Context context2 = new Context();
    … … 
    Engine engine2 = new Engine((ReportDefine) report2, context2);
    report2 = engine2.calc();
    dc.insertReport("统计图", report2);

    //执行所有修改动作,然后关闭输出文件流
    dc.execute();
    fos.close(); 
    至此,word 报告就自动生成了,以后每次只要执行一遍这段程序就行了,是不是方便了不少? 不过,这个办法还有个缺点,当插入内容变化时,我们就需要修改 java 代码,而改了代码之后又得重编译部署,难以做到热切换。这个办法还是不够方便。 为此,润乾报表还提供了外部配置的方法来实现 word 报表,可以预先编辑一个 xml 文件,在里面写个需要替代的书签等内容,然后程序会读取这个配置文件生成相应的 word 文档。 这样,当插入内容变化的时候,只要修改 xml 配置信息即可,而不用修改代码再编译了。我们一起来看一下:

    1、编辑配置文件 xml

    该文件中可配置多个书签和插入对象,当对象来源于内存时,可配置成 map,通过 key 从内存中取值,key 值可以是 IReport、byte[]、Image、String,值的类型程序会自动判断。

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!-- file表示模板docx文件名,可配置绝对路径或相对路径(web端配置时相对于raqsoftConfig.xml中的reportFileHome) -->
    <docx file="D:/test.doc">
    <!-- name表示docx书签,为空则不会插入。 file表示图片文件名,可配置绝对路径或相对路径(web端配置时相对于raqsoftConfig.xml中的reportFileHome) -->
    <bookmark name="logo" type="image" file="D:/logo.png"></bookmark>
    <!-- name表示docx书签, text要插入的文本文字 -->
    <bookmark name="编号" type="text" text="12345678"></bookmark>
    <bookmark name="时间" type="text" text="20170730"></bookmark>
    <bookmark name="年度" type="text" text="2017"></bookmark>
    <!-- key表示给定map中的key(未填时跟name相同,对应的value只能是IReport、byte\[\]、Image、String) -->
    <bookmark name="统计图" type="map" key="f"></bookmark>
    <!-- reportFile表示报表模板文件名,可配置绝对路径或相对路径(web端配置时相对于raqsoftConfig.xml中的reportFileHome) -->
    <bookmark name="报表" type="report" reportFile="D:/毕业去向.rpx">
        <!-- value表示报表参数值(串) -->
        <reportParam name="arg1" type="value" value="设定参数1"></reportParam>
        <!-- type为map时会从内存中根据name读取key,key未填写时跟name相同,key=””时会取map中key为空的值 -->
        <reportParam name="arg2" type="map"></reportParam>      
    </bookmark>
    </docx> 
    注:在 web 应用中,如果 web.xml 里配置了 reportServlet,那么程序会自动加载 raqsoftconfig.xml,读取该文件里配置的 reportFileHome,数据源信息,授权文件等信息。

    2、根据配置信息生成 Word 文档

    try{
        File of = new File("D:/out.docx");//输出文件
        … …
        FileOutputStream fos = new 
        FileOutputStream(of);

        //加载xml,batch.xml内容如上一小节所示
        String xmlConfig = DocxChanger.xmlFile2String("D:/batch.xml");

        //当插入的对象来自内存,比如IReport对象
        File f4 = new File("d:/留学.rpx");
        FileInputStream fis = new FileInputStream(f4);
        IReport report = ReportUtils.read(fis);
        fis.close();
        Context context = new Context();
        Engine engine = new Engine((ReportDefine) 
        report, context);
        report = engine.calc();

        //当对象来源于内存时,可配置成 map
        HashMap map =new HashMap();
        map.put("f", report);//设置xml中key为f的值
        map.put("arg2", "2014-12-15 12:00:23");//当插入对象来自内存,比如String,设置xml中key为arg2的值

        DocxChanger.insert(map, xmlConfig, fos);
        fos.close();
    }catch(Throwable x) {
        x.printStackTrace();

    说了这么多,大家肯定会觉得理想很丰满,现实很骨感,这个功能是很完美,确实可以帮我解决这些个棘手的问题,但是都知道报表工具价格昂贵,再加上这样小奢的功能,岂不是贵上加贵,为此特意买一套昂贵的报表工具,似乎就不划算了,而开源报表里面又没有这个功能。但是你不知道的是,现在报表工具已经低端化了,润乾率先开始了 1W 元 / 套的低价报表了,恰巧这个功能里面有,恰巧你还看到了。

    展开全文
  • 这是一个某大学年度毕业生就业报告,其中表格和统计图数据来自数据库,如果通过报表工具,制作这样的表格和统计图是轻而易举事情,但如果要这些报表和统计图做到word报告里就麻烦很多。以往有两个办法:一个是...

    word0

    在很多业务场景中需要在word文档中嵌入报表。比如下图这个报告:

    word1

    这是一个某大学年度毕业生就业报告,其中表格和统计图的数据来自数据库,如果通过报表工具,制作这样的表格和统计图是轻而易举的事情,但如果要把这些报表和统计图做到word报告里就麻烦很多。以往有两个办法:一个是每次做好报表和统计图之后,导出为word,再手工复制粘贴到word报告中;第二个是把整个报告都做成一个报表模板,然后再一起导出为word。 方法一,纯手工操作效率低;方法二,报表工具排版能力有限,生成的word版面效果不够完美。

    那么,还有什么好办法呢?

    通常这类报告都有规定的模板样式,只是要定期替换里面的个别信息,比如上图所示的文档编号,报告时间,标题里的年度,图片,每个章节下的报表和统计图,这些信息是动态变化的,而其他文字描述部分以及整体样式都是固定不变的。所以,如果能把报表嵌入word文档做成流水线式的自动化过程,那就是一件两全其美,事半功倍的事情。

    润乾报表就提供了把报表嵌入word的功能,实现步骤如下:

    1、制作word模板,将需要插入内容的位置设置好书签

    word2

    比如我们开篇看到的大学毕业生就业报告,我们可以先做成如上图所示的word模板,图示绿色线框位置就是需要定期更新的部分,预先在这些位置插入书签(比如书签名为:编号,时间,logo,年度,报表,统计图),以此标记要插入到word的内容对应插入到什么位置。

    2、制作报表,这一步就不详述了。

    3、调用润乾报表的raqsoft.report.view.oxml.word.DocxChanger里的方法,将图片,文本,报表等内容插入到指定书签位置,生成新的word报告。

     eg:

     //设置报表授权文件

    File flic = new File(“c:/tmp/report5.lic”);

    FileInputStream lis = new FileInputStream(flic);

    Sequence.readLicense( Sequence.P_RPT, lis);

     

    File f = new File(“E:/test.docx”);               // 模板文件

    File of = new File(“D:/out.docx”);             // 输出文件

     … …

    FileOutputStream fos = new FileOutputStream(of);

     DocxChanger dc = new DocxChanger(f, fos); //实例化DocxChanger

     

    //在书签“编号”,“时间”,“年度”处插入文字

    dc.insertText(“编号“, “12345678”);

    dc.insertText(“时间“, “20170730”);

    dc.insertText(“年度“, “2017”);

     

     //在书签“logo”处插入图片文件

    File f1 = new File(“d:/logo.png”);

    dc.insertImage(“logo”, f1);

     

    //在书签“报表”,“统计图”处插入报表和统计图

    File f2 = new File(“d:/毕业去向.rpx”);

    FileInputStream fis =new FileInputStream(f2);

    IReport report = ReportUtils.read(fis);

     fis.close();

    Context context = new Context();

    …… 

    Engine engine = new Engine((ReportDefine) report, context);

    report = engine.calc();

    dc.insertReport(“报表“, report);

                               

    File f3 = new File(“d:/留学.rpx”);

    FileInputStream fis2 =new FileInputStream(f3);

    IReport report2 = ReportUtils.read(fis2);

     fis2.close();

    Context context2 = new Context();

    …… 

    Engine engine2 = new Engine((ReportDefine) report2, context2);

    report2 = engine2.calc();

    dc.insertReport(“统计图“, report2);

                                 

    //执行所有修改动作,然后关闭输出文件流

    dc.execute();

     fos.close();

     

    至此,word报告就自动生成了,以后每次只要执行一遍这段程序就行了,是不是方便了不少?

     

     

    不过,这个办法还有个缺点,当插入内容变化时,我们就需要修改java代码,而改了代码之后又得重编译部署,难以做到热切换。这个办法还是不够方便。

    为此,润乾报表还提供了外部配置的方法来实现word报表,可以预先编辑一个xml文件,在里面写个需要替代的书签等内容,然后程序会读取这个配置文件生成相应的word文档。

    这样,当插入内容变化的时候,只要修改xml配置信息即可,而不用修改代码再编译了。我们一起来看一下:

    1、编辑配置文件xml

    该文件中可配置多个书签和插入对象,当对象来源于内存时,可配置成map,通过key从内存中取值,key值可以是IReport、byte[]、Image、String,值的类型程序会自动判断。

    <?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>

    <!– file表示模板docx文件名,可配置绝对路径或相对路径(web端配置时相对于raqsoftConfig.xml中的reportFileHome) –>

    <docx file=”D:/test.doc”>

    <!– name表示docx书签,为空则不会插入。 file表示图片文件名,可配置绝对路径或相对路径(web端配置时相对于raqsoftConfig.xml中的reportFileHome) –>

    <bookmark name=”logo” type=”image” file=”D:/logo.png”/>

    <!– name表示docx书签, text要插入的文本文字 –>

    <bookmark name=”编号” type=”text” text=”12345678 “/>

    <bookmark name=”时间” type=”text” text=”20170730“/>

    <bookmark name=”年度” type=”text” text=”2017 “/>

    <!– key表示给定map中的key(未填时跟name相同,对应的value只能是IReport、byte[]、Image、String) –>

    <bookmark name=”统计图” type=”map” key=”f”/>

    <!– reportFile表示报表模板文件名,可配置绝对路径或相对路径(web端配置时相对于raqsoftConfig.xml中的reportFileHome)–>

    <bookmark name=”报表” type=”report” reportFile=”D:/毕业去向.rpx”>

    <!– value表示报表参数值(串) –>

             <reportParam name=”arg1″ type=”value” value=”设定参数1″/>

    <!– type为map时会从内存中根据name读取key,key未填写时跟name相同,key=””时会取map中key为空的值–>

    <reportParam name=”arg2″ type=”map”/>       

    </bookmark>

    </docx>

    注:在web应用中,如果web.xml里配置了reportServlet,那么程序会自动加载raqsoftconfig.xml,读取该文件里配置的reportFileHome,数据源信息,授权文件等信息。

    2、根据配置信息生成Word文档

    try {

     File of = new File(“D:/out.docx”);// 输出文件

     ……

    FileOutputStream fos = new FileOutputStream(of);

     

     //加载xml,batch.xml内容如上一小节所示

            String xmlConfig = DocxChanger.xmlFile2String(“D:/batch.xml”);

     

             //当插入的对象来自内存,比如IReport对象

             File f4 = new File(“d:/留学.rpx”);

             FileInputStream fis = new FileInputStream(f4);

             IReport report = ReportUtils.read(fis);

    fis.close();

    Context context = new Context();

    Engine engine = new Engine((ReportDefine) report, context);

    report = engine.calc();

     

    //当对象来源于内存时,可配置成map

    HashMap map = new HashMap();

           map.put(“f”, report);   //设置xml中key为f的值

           map.put(“arg2”, “2014-12-15 12:00:23”);//当插入对象来自内存,比如String,设置xml中key为arg2的值

                 

    DocxChanger.insert(map, xmlConfig, fos);

            fos.close();

           } catch (Throwable x) {

          x.printStackTrace();

          }

     

    说了这么多,大家肯定会觉得理想很丰满,现实很骨感,这个功能是很完美,确实可以帮我解决这些个棘手的问题,但是都知道报表工具价格昂贵,再加上这样小奢的功能,岂不是贵上加贵,为此特意买一套昂贵的报表工具,似乎就不划算了,而开源报表里面又没有这个功能。但是你不知道的是,现在报表工具已经低端化了,润乾率先开始了2.8万元/10套的低价报表了,恰巧这个功能里面有,恰巧你还看到了。


    点击图片链接参与活动,打不开可复制网址(http://www.raqsoft.com.cn/archives/1862.html)或关注润乾官方微信了解活动详情



    展开全文
  • Visio 2000 技术大全

    2008-11-23 08:21:28
    包括怎样把Microsoft Excel文件中的信息集成到Visio。 第六部分创建与操作文本 本部分向读者深入介绍该软件有关操作文本许多特征。例如第29章中介绍了许多文本操作方式,如定位、旋转和调整文本类型。第30章...
  • vfp6.0系统免费下载

    2009-09-17 13:49:13
    如果象在“项目信息”对话框指定那样, ProjectHook 类指定给一个项目,那么此类就会在项目打开时实例化(这包括 BUILD APP 等命令),而在项目关闭时被销毁。 问题 2-6: 如何在 列表框 (ListBox) 控件添加...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何ADO中数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除...
  • 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何ADO中数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除...
  • 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何ADO中数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除...
  • 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何ADO中数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除...
  • 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何ADO中数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除...
  • 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何ADO中数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除...
  • asp.net知识库

    2015-06-18 08:45:45
    从SQL中的一个表中导出HTML文件表格 获取數据库表前N条记录 几段SQL Server语句和存储过程 生成表中的数据脚本 最详细SQL注入相关命令整理 Oracle OraclePL/SQL单行函数和组函数详解 mssql+oracle Oracle...
  • 其次列为综合课程,因为它各门职能课程结合在一起,不仅阐明了各种职能在企业争取达到经营目标过程如何相互作用,而且指出了企业与其所处环境怎样互相影响。 表2.1.2 企业管理学学科分类 ────...
  • visio教程PDF

    热门讨论 2010-05-17 23:56:22
    7.4.3 删除到内存中的对象拷贝到页面 7.4.4 删除组对象方法 7.5 删除文本 7,6 删除页面 7.6.1 使用Edit Delete删除一页 7.6.2 使用DrawingExplore删除页面 7.7 小结 第8章 页面设置 ...
  • 软件测试规范

    2018-04-23 09:16:12
    软件测试目标 .................................................................................................................................. 2 三.软件测试流程 .......................................
  • 测试培训教材

    2014-04-01 12:10:48
    9. QC中的需求字段和需求模版列名所对应字母标号进行关联映射。 从Excel导入 选Demo项目,提示错误: 改成用alice_qc用户登录即可! Author全改成Admin 从...
  • 还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型知识获取等 。 (2) 模拟和分析需求 需求分析和模拟又包含三个层次工作。首先是需求建模。需求模型表现形式有自然语言、半形式化(如...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

怎样把表格中需要的导出