免费报表XDOC从入门到精通(一)简介

Java导出Word文档的实现 前言 在日常的开发工作中,我们时常会遇到导出Word文档报表的需求,比如公司的财务报表、医院的患者统计报表、电商平台的销售报表等等。 导出Word方式多种多样,通常有以下几种方式: 1. 使用第三方Java工具类库Hutool的Word工具类,参考网址为https://www.hutool.cn/docs/#/poi/Word生成-Word07Writer; 2. 利用Apache POI和FreeMarker模板引擎; 3. 第三方报表工具。 上面的几种方式虽然可以实现... 阅读详情
        XDOC是一个功能强大的报表工具,用纯Java编写,并且是免费的。它与传统报表有很大不同,有许多创新:
◇   安装部署非常简单
XDOC部署包大小不到12M,可以部署到任何J2EE服务器中。
◇   设计器服务器一体化设计
报表设计器可以通过浏览器访问服务器直接使用,无需单独安装(需要Java虚拟机)。
◇   创新的文档式结构
传统的报表结构是条带式或表格式,XDOC为文档式,操作方式类似Word,更灵活、更强大。
◇   丰富的文档格式
XDOC包含了段落、文字、图形、图片、图表、表格等各种元素,图形、表格中还可以继续包含段落、文字、图形等内容,具有像Word一样的强大字处理能力。图形有滤镜属性,通过设置可以产生艺术效果,如:整体渐变、反转、透视图、镜子、光照、阴影、浮雕等。
◇   创新的XML数据建模与布局
传统的报表是直接以数据库为数据源进行设计的,XDOC也支持这种方式,但更建议以XML为数据模型进行设计和布局。报表设计人员仅需要把关心的内容拖拽到设计器中,设置格式就可以了。报表调用者传入实际的XML数据也就可以了。
◇   SQL和XML双引擎数据处理
XDOC服务器中使用了完全自主开发的SQL引擎,与各种数据库无关。它同时具有强大XML的数据处理能力。
◇   完全开放文档格式
XDOC的格式是基于XML的,规范完全开放,你甚至可以不用XDOC设计器,用写字板等编写XDOC。你也可以用jsp、asp、php等服务器端语言来生成XDOC。
◇   内置20多种输出格式
主要包含四类:文档、矢量图、图片、组合。文档格式有:PDF、DOCX(Word2007)、PPT、XLS、RTF、CSV、TXT、HTM、JPD(jar)、PS。矢量图格式有:SVG、SWF、EMF。图片格式有:PNG、JPG、GIF、GIF动画、BMP等。组合格式有:ZIP、MHT。
◇   支持多语言、多样式
你可以为一张报表定义多套语言、多套样式动态切换。
◇   超灵活的报表部署方案
XDOC的报表部署方案是最灵活的,你可以部署到XDOC服务器中,也可以部署到其他服务器上,甚至可以在调用时直接传入XDOC的文本。
在线编辑器地址: http://www.hgsql.com/xdocBuilder.asp
XDoc2AsciiDoc:小型实用程序,可帮助将xDoc文档转换为AsciiDoc文档 XDoc2AsciiDoc 描述 XDoc2Ascii doc是一个小型应用程序,旨在帮助从文档迁移到文档。 命令行参数 XDoc2AsciiDoc是一个命令行实用程序,并且要求路径中包含Java(5.0+)。 从xdoc文件夹中读取.xdoc文件,在asciidoc文件夹中创建.asc文件 java -cp ./x2a.jar com.consoli.x2a.XDoc2AsciiDoc xdoc asciidoc 从xdoc文件夹中读取.xdoc文件,在C:/ temp文件夹中创建.asc文件 java -cp ./x2a.jar com.consoli.x2a.XDoc2AsciiDoc xdoc C:/temp 如果指定的文件夹有问题,或者输入文件中的任何一个无效或应用程序由于任何原因无法处理它,则将引发异常并将其显示在stdout上。 支持的映射 xDoc文件 AsciiDo 立即下载

相关推荐

XDoc-开源

XDoc 是模式感知的 XML 编辑器

XDOC 在线word文档表格预览

http://www.xdocin.com/web.html XDOC XDOC表单将文档、表单、报表融为一体,以Flash的形式嵌入在网页中,提供仿纸质的文档式表单。通过表单API可以与表单进行交互,数据还可以与表单结合生成PDF等格式的文档。表单可以用XDOC设计器轻松制作。 JS文件 <script type="text/javascript" src="http:...

人生不过是一场旅行,你路过我,我路过你,各自向前,各自修行。 7258

XDOC智能文档平台.pptx

XDOC智能文档平台.pptx

免费报表XDOC从入门到精通(三)第一个XDOC

创建 打开XDOC设计器,输入“第一个XDOC”,如下图:    部署 点击【服务器】,切换到服务器视图     切换到服务器视图后,显示连接到服务器对话框,如下图:     点击【确定】按钮。 点击【设计】,切换到设计视图     点击主工具条【保存】按钮,部署XDOC         切换到服务器视图...

295

Ardupilot姿态控制详解(完结篇)

本文主要是对过去写的一些APM中姿态控制流程及函数博文的汇总。 按照之前写的博文以及个人认为的学习顺序,给出APM姿态控制器的学习顺序如下: APM姿态旋转理论基础 Ardupilot姿态控制器 PID控制流程(整定后的P控制器) 详解APM的开方控制器sqrt_controller Ardupilot前馈及平滑函数input_euler_angle_roll_pitch_yaw解析 Ardupilot倾转分离函数thrust_heading_rotation_angles Ardupilot四元数姿态控制

moumde的博客 7024

Claude Code 完整使用教程(2026最新版)

《Claude Code 完整使用教程(2026最新版)》摘要: Claude Code 是 Anthropic 公司推出的智能编程工具,通过自然语言对话实现代码编写、调试和重构。本教程基于 v2.1.101 版本,涵盖安装配置、核心功能及最新特性。主要内容包括: 多平台安装方式(macOS/Linux/Windows) 桌面应用专属功能如并行会话、定时任务和语音模式 模型选择指南(Sonnet/Opus/Haiku) 快速入门示例:5分钟创建Node.js项目 核心功能:代码读写、命令执行、Git集成等

程序猿_三产 2万+

免费报表XDOC从入门到精通(二)安装

安装Java运行环境 安装地址:http://www.java.com 安装应用服务器 XDOC可以部署在所有J2EE应用服务器中,下面以Tomcat为例: 下载安装包 地址: http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.zip 解压安装

xdocs的博客 1166

kaggle注册以及数据集下载全流程

kaggle注册,数据集下载及常见问题

Arriteey的博客 2万+

免费报表XDOC从入门到精通(五)配置数据源

XDOC可以使用应用服务器中的数据源,也可以直接在XDocServer的服务器中配置,还可以配置私有的数据源。 应用服务器数据源 各种应用服务器配置数据源有所不同,下面以Tomcat6为例,供参考: 修改Tomcat的conf\context.xml,添加如下内容:              auth="Container"         type="javax.sql.Da

xdocs的博客 982

vcs中systemverilog和c/c++联合仿真

前言 systemverilog中,可以通过DPI、PLI来与外部其它语言的程序进行交互。PLI又分为三类,TF、ACC和VPI,可以认为是PLI技术的三代演进: 其中VPI(PLI3.0)是TF/ACC的一个超集,目前使用的PLI基本上都是VPI。 与PLI技术相独立的另一个技术就是DPI,DPI技术简化了systemverilog与foreign language的交互步骤,对于开发者相对友好,所以使用相对广泛一些。 本文不对DPI中程序调用/数据交互展开讨论(这部分可以参考绿皮书..

kevindas的博客 1万+

几率大的Redis面试题(含答案)

本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内存淘汰机制【~】 Redis 为什么是单线程的,优点 如何解决redis的并发竞争key问题 Red...

睶 38万+

免费报表XDOC从入门到精通(六)使用向导

打开设计器,并连接到服务器 点击主工具条的【XDOC向导】按钮,打开向导,数据源类型选择“数据库”,点击【下一步】,如下图:     选择数据库连接“jdbc/orcl”,点击【下一步】,弹出查询设计器对话框,如下图:     选择scott模式下的dept表,拖拽到查询设计区内,如下图:     点击【确定】,显示设计完成的SQL,如下图:     ...

195

TMS320F28377D双核开发例程 - DSP开发

首先,我们需要创建一个新的工程来进行开发。然后,选择适当的目标设备为TMS320F28377D,并设置工程的名称和存储位置。在上面的代码中,我们定义了一个128个元素的输入数组和输出数组。然后,我们使用一个简单的数字信号处理算法,将输入数组中的每个元素平方,并将结果存储到输出数组中。这个芯片的双核架构提供了更高的计算能力和灵活性,使得数字信号处理的开发更加高效和可靠。希望本文对您有所帮助!当应用程序在TMS320F28377D芯片上运行时,它将对输入数组中的每个元素进行平方运算,并将结果打印出来。

IfllUnity的博客 2517

云报表XDOC发布了

第一款公有云报表平台XDOC发布了。XDOC云报表部署在新浪云(SAE)中,免费给大家开放。   XDOC云报表具有以下特点: ●  公有云部署,随时随地访问 ●  内容格式丰富:段落、文字、图形、图片、图表、表格、条形码、艺术字、标记语言等 ●  输出文档格式丰富:flash、pdf、docx、html、rtf、xls、ppt、epub、png图片等 ●  安全,不访问数

xdocs的博客 555

SpringBoot一次请求中缓存数据,请求结束就清除的4种方法,你会几种?

通过以上四种方法,你可以在 SpringBoot 的一次请求中缓存数据,并在请求结束后自动清除这些缓存数据。使用 ThreadLocal:适用于需要跨多个方法调用的缓存数据,灵活性高,但需要注意内存泄漏问题。使用 AOP:适用于全局性的缓存管理,代码更加优雅,但需要对 AOP 有一定的了解。使用 ServletRequestListener:适用于简单的请求生命周期管理,配置简单,但功能相对有限。使用 HttpServletRequest 的 setAttribute 和 getAttribute。

java专栏 1295

如何对正射影像DOM(卫星影像、无人机航拍影像)进行拼接、合并以及去黑边(附 Global Mapper Pro 24.0 安装包(中文注册版))

为什么要对正射影像DOM进行拼接?影像去黑边、影像拼接的操作和步骤。

从地图看世界的专栏 4300

免费报表XDOC从入门到精通(四)参数

创建 展开左侧区域,选中参数标签页,点击工具条的【添加】按钮,弹出创建参数对话框,输入参数名和标题,如下图:         布局 在数据项区域中展开参数节点,选中参数“name”,拖拽到编辑器中,如下图:            将数据项拖拽类型设置为“名称”再次拖拽“name”项到编辑器中,结果如下图:     运...

191

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

免费开源很不错的报表工具xdoc

1.  部署xdoc后,要配置好数据库连接池。具体步骤如下: 修改Tomcat的conf/context.xml,添加如下内容:     <Resource name="jdbc/orcl"         auth="Container"         type="javax.sql.DataSource"          driverClassName="oracle.j...

flowerprince88的专栏 948

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

基于XDOC云服务的标准公文模板【公文】

XDOC云服务上线2年来,为大家提供了稳定的免费智能云文档服务。 大家对XDOC的使用主要还是在线文档阅读、格式转换,这其实是XDOC的辅助功能。 XDOC的主要功能是智能文档:文档+报表+表单,主要原因还是大家对XDOC不熟悉,用XDOC制作的模板资源比较少,从今天开始XDOC会陆续推出一些标准化程度比较高的模板,提供给大家免费使用。 这些模板集中的行业主要有:政府、税务、卫生、金融等...

223

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: 分享一个纯Java文书、合同录入与打印解决方案
下一篇: 免费报表XDOC从入门到精通(二)安装
xdocs
博客等级 码龄11年 30粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值