- 浏览: 256938 次
- 性别:
- 来自: 福州
文章分类
最新评论
-
rdsgf:
也就是导出。。。如何把生成的图片导出到本地,有没有接口?
报表 charts4j -
rdsgf:
你好,请问生成的图片如何保存到本地?
报表 charts4j -
刘焕杰:
楼主,为啥放进去后,我下载的中文文件名还是乱码呢?
[jspSmartUpload]------------>jspSmartUpload上传中文文件名 乱码问题 -
814687491:
Ext Panel 动态 加载 html -
yxyysu:
下载之后使用了,没有解决上传时中文名字乱码问题,请博主指导。
[jspSmartUpload]------------>jspSmartUpload上传中文文件名 乱码问题
1. 简介
charts4j is a Java chart library that enables developers to programmatically generate nearly all 1 the charts available in the Google Chart API . charts4j can be incorporated into any Internet enabled Java (e.g. Swing) or web application environment (e.g. JSPs / Servlets, Spring MVC, GWT, etc.)
Installation
Developers only need to include the charts4j.jar in their classpath. It is available in the charts4j.zip file. The application must also be connected to the Internet because the charts are ultimately rendered by the Google Chart API server
(上面copy于charts4j 1.3API)
Features
Supports many features of the Google Chart Tools
Hides the ugly details of creating the URL parameters that are necessary for communicating with the Google Chart Tools
Can be incorporated into any Internet enabled Swing or web application environment (JSP/Servlet, GWT, Spring MVC, etc.)
100% pure core Java solution. No need for special graphics libraries, etc.
Super-scalable & Lightweight. Only one 160Kb jar and an Internet connection required
Well documented
GWT client-side support.
JFreeChart Eastwood Servlet integration.
Works on Android
Best of all, it is FREE!
(上面来至官网).
http://code.google.com/p/charts4j/
[color=red]1. 例子(都在官网中下载的jar包中有这些example)[/color
1. LineChart
根据上面生成的url
example1 的效果图如下
http://chart.apis.google.com/chart?cht=lc&chs=600x500&chts=FFFFFF,14&chxt=y,y,x,x,x&chls=2,1,1|3,1,0&chg=30.0,10.0,3,2&chco=FFFF00,87CEEB&chxp=1,50.0|4,50.0&chdl=Line1+MARK|Line2+MARK&chxr=1,0.0,100.0|4,0.0,100.0&chtt=Web+Traffic%7C%28in+billions+of+hits%29&chf=bg,s,1F1D1D|c,lg,0,363433,1.0,0000FF,0.0&chxs=0,FFFFFF,12,0|1,FFFFFF,12,0|2,FFFFFF,12,0|3,FFFFFF,12,0|4,0000FF,14,0&chxl=0:|0|25|50|75|100|1:|Hits|2:|Nov|Dec|Jan|Feb|Mar|3:|2007|2008|2009|2010|2011|4:|Month&chd=e:AAB4DhEzFxGnHrJRLhOZRmUpXCYZYpYAXCWfXCZIczhmmtrKuE,..-H8e7M6O5Y4U2u0exmuZrWo9nmnWn.o9pgo9m3jMeZZSU1R7&chm=r,FF00004C,0,0.40,0.60|R,0080004C,0,0.70,0.90|d,FFFFFF,0,-1,4,0|d,FFFF00,0,-1,8,0|d,000000,1,-1,5,0|o,87CEEB,1,-1,10,0
example2 的效果图如下
http://chart.apis.google.com/chart?cht=lc&chs=600x450&chxt=y,x,x,x&chts=FFFFFF,14&chls=3,1,0|3,1,0&chco=FFFF00,32CD32&chg=100.0,6.78,5,0&chdl=S+%26+P+500|Inflation&chf=bg,s,000000|c,s,708090&chxp=1,5,18,39,55,92|3,50.0&chtt=S+%26+P+500%7C1962+-+2008&chxr=0,0.0,1475.25|1,0.0,100.0|2,1962.0,2008.0|3,0.0,100.0&chxs=0,FFFFFF,12,0|1,FFFFFF,12,0|2,FFFFFF,12,0|3,FFFFFF,14,0&chxl=1:|Fed+Chiefs%3A|Burns|Volcker|Greenspan|Bernanke|3:|Year&chd=e:CsDMDmD8EGEbD6D8EIE.EKC3D1EkEDEHEmFxFOF.HCHGI.KYKlL0O9OBRtSuT.TqaNgKpa0j-e46xilhvVzx1r8x-7,CsCyC4C.DFDMDTDbDiDqDyD7EEENEWEgEqE0E.FKFWFiFuF7GIGWGkGzHCHSHiHzIFIXIqI9JRJmJ7KSKpLALZLzMN&chm=o,FFFF00,0,-1,10,0|o,000000,0,-1,7,0|v,0000FF,0,8,3,0|h,0000FF,0,17,3,0|V,0000FF,0,24,3,0|v,0000FF,0,40,3,0|B,FFFFE0,0,0,0|o,FF0000,1,-1,10,0|o,000000,1,-1,7,0|o,FFFF00,1,-1,4,0|B,90EE90,1,0,0
2.BarChart
example1生成的url
http://chart.apis.google.com/chart?cht=bvs&chs=600x450&chxt=y,y,x,x&chbh=50,20,8&chts=000000,20&chtt=Team+Scores&chg=10.0,20.0,3,2&chxp=1,50.0|3,50.0&chco=8A2BE2,FF4500,32CD32&chdl=Team+A|Team+B|Team+C&chd=e:QAbhHrTN,FIWZHCDN,GaMzTNTN&chxs=1,FF0000,13,0|3,FF0000,13,0&chf=bg,s,F0F8FF|c,lg,0,E6E6FA,1.0,FFFFFF,0.0&chxl=1:|Score|2:|2002|2003|2004|2005|3:|Year&chxr=0,0.0,200.0,20.0|1,0.0,100.0|3,0.0,100.0
example2 生成的url
http://chart.apis.google.com/chart?chbh=23,4,30&chco=FFD700,C0C0C0,000000&chd=e:..tLc3X2UF,aWvraWQUMj,jItLjIS0S0&chdl=First+LGF|Second+HQY|Three+CD&chf=bg,s,D3D3D3|c,lg,0,E37600,1.0,DC4800,0.0&chg=19.6078431372549,600.0,3,2&chs=450x650&cht=bhg&chts=000000,16&chtt=2008+Beijing+Olympics+Medal+Count&chxl=0:|Germany|United+Kingdom|Russia|USA|China|1:|Country|4:|Medals&chxp=1,50.0|4,50.0&chxr=1,0.0,100.0|2,0.0,51.0,5.0|3,0.0,51.0,5.0|4,0.0,100.0&chxs=0,000000,13,0|1,000000,13,0|2,000000,13,0|3,000000,13,0|4,000000,13,0&chxt=y,y,t,x,x
3. PieChart
example1 url
http://chart.apis.google.com/chart?cht=p3&chs=500x200&chts=000000,16&chd=e:gAKqKqKq&chtt=A+Better+Web&chco=CACACA,DF7417,951800,01A1DB&chdl=Apple|Mozilla|Google|Microsoft&chl=Safari|Firefox|Chrome|Internet+Explorer
example2 url
http://chart.apis.google.com/chart?cht=p&chd=e:5mGa&chs=500x200&chts=000000,16&chtt=2D+Pie+Chart&chco=FFFF00,FF0000&chl=Ms.+Pac-Man|Red+Lips
4. ScatterChart
example1 url
http://chart.apis.google.com/chart?cht=s&chxt=y,x&chs=600x450&chco=FFFF00&chts=FFFFFF,16&chg=20.0,20.0,3,2&chm=o,FF471A,0,-1,30,0&chxr=0,0.0,100.0|1,0.0,100.0&chxs=0,FFFFFF,13,0|1,FFFFFF,13,0&chdl=%E8%A1%A8%E6%A0%BC%E6%8F%90%E7%A4%BA&chf=bg,s,FF0000|c,lg,0,0000FF,1.0,000000,0.0&chd=e:GagATNczpm8yMzzM,MzZmZmJm2Z8yzMMz,..TNgAv.ZmWZzM..&chtt=%E5%88%86%E6%95%A3%E8%A1%A8%E6%A0%BC%E6%A0%87%E9%A2%98
5. Swing
charts4j is a Java chart library that enables developers to programmatically generate nearly all 1 the charts available in the Google Chart API . charts4j can be incorporated into any Internet enabled Java (e.g. Swing) or web application environment (e.g. JSPs / Servlets, Spring MVC, GWT, etc.)
Installation
Developers only need to include the charts4j.jar in their classpath. It is available in the charts4j.zip file. The application must also be connected to the Internet because the charts are ultimately rendered by the Google Chart API server
(上面copy于charts4j 1.3API)
Features
Supports many features of the Google Chart Tools
Hides the ugly details of creating the URL parameters that are necessary for communicating with the Google Chart Tools
Can be incorporated into any Internet enabled Swing or web application environment (JSP/Servlet, GWT, Spring MVC, etc.)
100% pure core Java solution. No need for special graphics libraries, etc.
Super-scalable & Lightweight. Only one 160Kb jar and an Internet connection required
Well documented
GWT client-side support.
JFreeChart Eastwood Servlet integration.
Works on Android
Best of all, it is FREE!
(上面来至官网).
http://code.google.com/p/charts4j/
[color=red]1. 例子(都在官网中下载的jar包中有这些example)[/color
1. LineChart
/** * The MIT License * Copyright (c) 2011 the original author or authors. * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package com.jspsmart.charts4j; import static com.googlecode.charts4j.Color.*; import java.util.Arrays; import org.junit.Test; import com.googlecode.charts4j.AxisLabels; import com.googlecode.charts4j.AxisLabelsFactory; import com.googlecode.charts4j.AxisStyle; import com.googlecode.charts4j.AxisTextAlignment; import com.googlecode.charts4j.Color; import com.googlecode.charts4j.Data; import com.googlecode.charts4j.DataUtil; import com.googlecode.charts4j.Fills; import com.googlecode.charts4j.GCharts; import com.googlecode.charts4j.Line; import com.googlecode.charts4j.LineChart; import com.googlecode.charts4j.LineStyle; import com.googlecode.charts4j.LinearGradientFill; import com.googlecode.charts4j.Plots; import com.googlecode.charts4j.Shape; /** * * @author Julien Chastang (julien.c.chastang at gmail dot com) */ public class LineChartExample { @Test public void example1() { // Defining lines final int NUM_POINTS = 25; // 定义点的个数 final double[] competition = new double[NUM_POINTS]; final double[] mywebsite = new double[NUM_POINTS]; for (int i = 0; i < NUM_POINTS; i++) { competition[i] = 100-(Math.cos(30*i*Math.PI/180)*10 + 50)*i/20; mywebsite[i] = (Math.cos(30*i*Math.PI/180)*10 + 50)*i/20; } // public static Line newLine(Data data,Color color,String legend) // data - Data for this line. Cannot be null. 数据源 // color - Line color. Cannot be null. 标题盘指定的颜色颜色 // legend - Legend for this line. Cannot be null.标题 Color line1Color = Color.YELLOW; Line line1 = Plots.newLine(Data.newData(mywebsite), line1Color, "Line1 MARK"); // 第一个参数 lineThickness - Thickness of line. Must be > 0. 线条厚度 // 第二个参数 lengthOfLineSegment - Length of line segment. Must be >= 0. 每个线条长度 // 第三个参数 lengthOfBlankSegment - Length of blank segment. Must be >= 0. 线条间隙 line1.setLineStyle(LineStyle.newLineStyle(2, 1, 1)); // shape - Arrows, Diamonds, etc. Cannot be null. 形状 // color - Color of the shape maker. Cannot be null. 颜色 // size - The size of the shape marker. Must be > 0. 大小 line1.addShapeMarkers(Shape.DIAMOND, Color.WHITE, 4); line1.addShapeMarkers(Shape.DIAMOND, line1Color, 8); Color line2Color = Color.SKYBLUE; Line line2 = Plots.newLine(Data.newData(competition), line2Color, "Line2 MARK"); line2.setLineStyle(LineStyle.newLineStyle(3, 1, 0)); line2.addShapeMarkers(Shape.DIAMOND, BLACK, 5); line2.addShapeMarkers(Shape.CIRCLE, line2Color, 10); // Defining chart. LineChart chart = GCharts.newLineChart(line1, line2); // 地图以外的所有图表的可能最大面积是30万像素。 // width - chart width. Must be > 0 and <= 1000. 长 // height - chart height. Must be > 0 and <= 1000. 高 chart.setSize(600, 500); // title - Chart title. Cannot be null. 标题 // color - Chart title color. Cannot be null. 颜色 // fontSize - Chart title font size. Must be > 0.大小 chart.setTitle("Web Traffic|(in billions of hits)", WHITE, 14); // 水平范围标记 // startPoint - the position on the y-axis at which the range starts where 0 is the bottom and 100 is the top. // endPoint - the position on the y-axis at which the range ends where 0 is the bottom and 100 is the top. // color - color of range marker. Cannot be null. chart.addHorizontalRangeMarker(40, 60, Color.newColor(RED, 30)); chart.addVerticalRangeMarker(70, 90, Color.newColor(GREEN, 30)); // xAxisStepSize - x step size. must be > 0. x轴之间的间隙长度(百分比) // yAxisStepSize - y step size. must be > 0. y轴每条线之间的间隙长度 (百分比) // lengthOfLineSegment - length of line segment. must be >= 0. 每条黑线的长度 // lengthOfBlankSegment - length of blank segment. must be >= 0. 每条线之间的间隔 chart.setGrid(30, 10, 3, 2); // Defining axis info and styles Axis 轴 // textColor - color of text displayed along the axis. Cannot be null. 文本颜色 // fontSize - font size of text displayed along the axis. Must be > 0. 文本大小 // alignment - alignment of text along the axis with respect to the axis tick marks. Only works for horizontal axes. Cannot be null. 对齐方式 AxisStyle axisStyle = AxisStyle.newAxisStyle(WHITE, 12, AxisTextAlignment.CENTER); // Labels that will be displayed along side the axis. x轴显示标签 AxisLabels xAxis = AxisLabelsFactory.newAxisLabels("Nov", "Dec", "Jan", "Feb", "Mar"); xAxis.setAxisStyle(axisStyle); // 添加标签样式 AxisLabels xAxis2 = AxisLabelsFactory.newAxisLabels("2007", "2008", "2009", "2010", "2011"); xAxis2.setAxisStyle(axisStyle); AxisLabels xAxis3 = AxisLabelsFactory.newAxisLabels("Month", 50.0); xAxis3.setAxisStyle(AxisStyle.newAxisStyle(Color.BLUE, 14, AxisTextAlignment.CENTER)); AxisLabels yAxis = AxisLabelsFactory.newAxisLabels("0", "25", "50", "75", "100"); yAxis.setAxisStyle(axisStyle); AxisLabels yAxis2 = AxisLabelsFactory.newAxisLabels("Hits", 50.0); yAxis2.setAxisStyle(AxisStyle.newAxisStyle(Color.RED, 14, AxisTextAlignment.CENTER)); yAxis2.setAxisStyle(axisStyle); // Adding axis info to chart. chart.addXAxisLabels(xAxis); chart.addXAxisLabels(xAxis2); chart.addXAxisLabels(xAxis3); chart.addYAxisLabels(yAxis); chart.addYAxisLabels(yAxis2); // Defining background and chart fills. 背景颜色 chart.setBackgroundFill(Fills.newSolidFill(Color.newColor("1F1D1D"))); // 数据域颜色 LinearGradientFill fill = Fills.newLinearGradientFill(0, Color.newColor("363433"), 100); fill.addColorAndOffset(Color.BLUE, 0); chart.setAreaFill(fill); String url = chart.toURLString(); // EXAMPLE CODE END. Use this url string in your web or System.out.println(url); } @Test public void example2() { // EXAMPLE CODE START // Defining Line final double[] sp500 = { 62.960, 74.560, 84.300, 92.200, 95.890, 103.800, 91.600, 92.270, 96.870, 116.930, 97.540, 67.160, 89.770, 106.880, 94.750, 96.280, 107.840, 135.330, 122.300, 140.340, 164.860, 166.260, 210.680, 243.370,247.840, 277.080, 350.680, 328.710, 415.140, 438.820, 468.660, 460.920, 614.120, 753.850, 970.840, 1231.93, 1464.47, 1334.22, 1161.02, 879.390, 1109.64, 1213.55, 1258.17, 1424.71, 1475.25 }; final double INFLATION = 0.035; final double[] inflation = new double[sp500.length]; inflation[0] = sp500[0]; for (int i = 1; i < inflation.length; i++) { inflation[i] = inflation[i-1] *INFLATION + inflation[i-1]; } // Line line1 = Plots.newLine(Data.newData(sp500), YELLOW, "S & P 500"); Line line1 = Plots.newLine(DataUtil.scaleWithinRange(0,1500,sp500), YELLOW, "S & P 500"); line1.setLineStyle(LineStyle.newLineStyle(3, 1, 0)); line1.addShapeMarkers(Shape.CIRCLE, YELLOW, 10); line1.addShapeMarkers(Shape.CIRCLE, BLACK, 7); line1.addShapeMarker(Shape.VERTICAL_LINE_PARTIAL, BLUE,3,8); line1.addShapeMarker(Shape.HORIZONTAL_LINE, BLUE,3,17); line1.addShapeMarker(Shape.VERTICAL_LINE_FULL, BLUE,3,24); line1.addShapeMarker(Shape.VERTICAL_LINE_PARTIAL, BLUE,3,40); line1.setFillAreaColor(LIGHTYELLOW); Line line2 = Plots.newLine(DataUtil.scaleWithinRange(0,1500,inflation), LIMEGREEN, "Inflation"); line2.setLineStyle(LineStyle.newLineStyle(3, 1, 0)); // 可以使用addShapeMarkers进行多层迭代 一个点可以有多种形状和颜色叠加 line2.addShapeMarkers(Shape.CIRCLE, Color.RED, 10); line2.addShapeMarkers(Shape.CIRCLE, Color.BLACK, 7); line2.addShapeMarkers(Shape.CIRCLE, Color.YELLOW, 4); line2.setFillAreaColor(LIGHTGREEN); // Defining chart. LineChart chart = GCharts.newLineChart(line1,line2); chart.setSize(600, 450); chart.setTitle("S & P 500|1962 - 2008", WHITE, 14); // Defining axis info and styles AxisStyle axisStyle = AxisStyle.newAxisStyle(WHITE, 12, AxisTextAlignment.CENTER); AxisLabels yAxis = AxisLabelsFactory.newNumericRangeAxisLabels(0, sp500[sp500.length-1]); yAxis.setAxisStyle(axisStyle); AxisLabels xAxis1 = AxisLabelsFactory.newAxisLabels(Arrays.asList("Fed Chiefs:","Burns","Volcker","Greenspan","Bernanke"), Arrays.asList(5,18,39,55,92)); xAxis1.setAxisStyle(axisStyle); AxisLabels xAxis2 = AxisLabelsFactory.newNumericRangeAxisLabels(1962, 2008); xAxis2.setAxisStyle(axisStyle); AxisLabels xAxis3 = AxisLabelsFactory.newAxisLabels("Year", 50.0); xAxis3.setAxisStyle(AxisStyle.newAxisStyle(WHITE, 14, AxisTextAlignment.CENTER)); // Adding axis info to chart. chart.addYAxisLabels(yAxis); chart.addXAxisLabels(xAxis1); chart.addXAxisLabels(xAxis2); chart.addXAxisLabels(xAxis3); chart.setGrid(100, 6.78, 5, 0); // Defining background and chart fills. chart.setBackgroundFill(Fills.newSolidFill(BLACK)); chart.setAreaFill(Fills.newSolidFill(Color.newColor("708090"))); String url = chart.toURLString(); // EXAMPLE CODE END. Use this url string in your web or Internet application. System.out.println(url); } }
根据上面生成的url
example1 的效果图如下
http://chart.apis.google.com/chart?cht=lc&chs=600x500&chts=FFFFFF,14&chxt=y,y,x,x,x&chls=2,1,1|3,1,0&chg=30.0,10.0,3,2&chco=FFFF00,87CEEB&chxp=1,50.0|4,50.0&chdl=Line1+MARK|Line2+MARK&chxr=1,0.0,100.0|4,0.0,100.0&chtt=Web+Traffic%7C%28in+billions+of+hits%29&chf=bg,s,1F1D1D|c,lg,0,363433,1.0,0000FF,0.0&chxs=0,FFFFFF,12,0|1,FFFFFF,12,0|2,FFFFFF,12,0|3,FFFFFF,12,0|4,0000FF,14,0&chxl=0:|0|25|50|75|100|1:|Hits|2:|Nov|Dec|Jan|Feb|Mar|3:|2007|2008|2009|2010|2011|4:|Month&chd=e:AAB4DhEzFxGnHrJRLhOZRmUpXCYZYpYAXCWfXCZIczhmmtrKuE,..-H8e7M6O5Y4U2u0exmuZrWo9nmnWn.o9pgo9m3jMeZZSU1R7&chm=r,FF00004C,0,0.40,0.60|R,0080004C,0,0.70,0.90|d,FFFFFF,0,-1,4,0|d,FFFF00,0,-1,8,0|d,000000,1,-1,5,0|o,87CEEB,1,-1,10,0
example2 的效果图如下
http://chart.apis.google.com/chart?cht=lc&chs=600x450&chxt=y,x,x,x&chts=FFFFFF,14&chls=3,1,0|3,1,0&chco=FFFF00,32CD32&chg=100.0,6.78,5,0&chdl=S+%26+P+500|Inflation&chf=bg,s,000000|c,s,708090&chxp=1,5,18,39,55,92|3,50.0&chtt=S+%26+P+500%7C1962+-+2008&chxr=0,0.0,1475.25|1,0.0,100.0|2,1962.0,2008.0|3,0.0,100.0&chxs=0,FFFFFF,12,0|1,FFFFFF,12,0|2,FFFFFF,12,0|3,FFFFFF,14,0&chxl=1:|Fed+Chiefs%3A|Burns|Volcker|Greenspan|Bernanke|3:|Year&chd=e:CsDMDmD8EGEbD6D8EIE.EKC3D1EkEDEHEmFxFOF.HCHGI.KYKlL0O9OBRtSuT.TqaNgKpa0j-e46xilhvVzx1r8x-7,CsCyC4C.DFDMDTDbDiDqDyD7EEENEWEgEqE0E.FKFWFiFuF7GIGWGkGzHCHSHiHzIFIXIqI9JRJmJ7KSKpLALZLzMN&chm=o,FFFF00,0,-1,10,0|o,000000,0,-1,7,0|v,0000FF,0,8,3,0|h,0000FF,0,17,3,0|V,0000FF,0,24,3,0|v,0000FF,0,40,3,0|B,FFFFE0,0,0,0|o,FF0000,1,-1,10,0|o,000000,1,-1,7,0|o,FFFF00,1,-1,4,0|B,90EE90,1,0,0
2.BarChart
/** * * The MIT License * * Copyright (c) 2011 the original author or authors. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package com.jspsmart.charts4j; import static com.googlecode.charts4j.Color.*; import static com.googlecode.charts4j.UrlUtil.normalize; import java.util.Arrays; import java.util.logging.Level; import java.util.logging.Logger; import org.junit.BeforeClass; import org.junit.Test; import com.googlecode.charts4j.AxisLabels; import com.googlecode.charts4j.AxisLabelsFactory; import com.googlecode.charts4j.AxisStyle; import com.googlecode.charts4j.AxisTextAlignment; import com.googlecode.charts4j.BarChart; import com.googlecode.charts4j.BarChartPlot; import com.googlecode.charts4j.Color; import com.googlecode.charts4j.Data; import com.googlecode.charts4j.DataUtil; import com.googlecode.charts4j.Fills; import com.googlecode.charts4j.GCharts; import com.googlecode.charts4j.LinearGradientFill; import com.googlecode.charts4j.Plots; /** * * @author Julien Chastang (julien.c.chastang at gmail dot com) */ public class BarChartExample { @BeforeClass public static void setUpBeforeClass() throws Exception { Logger.getLogger(Logger.GLOBAL_LOGGER_NAME).setLevel(Level.ALL); } @Test public void example1() { // EXAMPLE CODE START // Defining data plots. BarChartPlot team1 = Plots.newBarChartPlot(Data.newData(25, 43, 12, 30), BLUEVIOLET, "Team A"); BarChartPlot team2 = Plots.newBarChartPlot(Data.newData(8, 35, 11, 5), ORANGERED, "Team B"); BarChartPlot team3 = Plots.newBarChartPlot(Data.newData(10, 20, 30, 30), LIMEGREEN, "Team C"); // Instantiating chart. BarChart chart = GCharts.newBarChart(team1, team2, team3); // Defining axis info and styles AxisStyle axisStyle = AxisStyle.newAxisStyle(Color.RED, 13, AxisTextAlignment.CENTER); AxisLabels score = AxisLabelsFactory.newAxisLabels("Score", 50.0); score.setAxisStyle(axisStyle); AxisLabels year = AxisLabelsFactory.newAxisLabels("Year", 50.0); year.setAxisStyle(axisStyle); // Adding axis info to chart. 添加坐标轴信息 chart.addXAxisLabels(AxisLabelsFactory.newAxisLabels("2002", "2003", "2004", "2005")); chart.addYAxisLabels(AxisLabelsFactory.newNumericRangeAxisLabels(0, 200,20)); chart.addYAxisLabels(score); chart.addXAxisLabels(year); chart.setSize(600, 450); // Set the bar chart width.每条的宽度 chart.setBarWidth(50); // Set the space within groups of bars.空格间隙 chart.setSpaceWithinGroupsOfBars(20); // Are the bar charts stacked, or side-by-side. 叠加 还是在旁边 chart.setDataStacked(true); chart.setTitle("Team Scores", BLACK, 20); // xAxisStepSize - x step size. must be > 0. x轴之间的间隙长度 // yAxisStepSize - y step size. must be > 0. y轴每条线之间的间隙长度 // lengthOfLineSegment - length of line segment. must be >= 0. 每条黑线的长度 // lengthOfBlankSegment - length of blank segment. must be >= 0. 每条线之间的间隔 chart.setGrid(10, 20, 3, 2); chart.setBackgroundFill(Fills.newSolidFill(ALICEBLUE)); LinearGradientFill fill = Fills.newLinearGradientFill(0, LAVENDER, 100); fill.addColorAndOffset(WHITE, 0); chart.setAreaFill(fill); String url = chart.toURLString(); // EXAMPLE CODE END. Use this url string in your web or Internet application. System.out.println(url); } @Test public void example2() { // EXAMPLE CODE START // Defining data series. final int MAX_MEDALS = 51; // 最大值 // min - The minimum value in the scaling range. // max - The maximum value in the scaling range. // data - The data Data goldData= DataUtil.scaleWithinRange(0, MAX_MEDALS, Arrays.asList(MAX_MEDALS, 36, 23, 19, 16)); Data silverData= DataUtil.scaleWithinRange(0, MAX_MEDALS, Arrays.asList(21, 38, 21, 13, 10)); Data bronzeData= DataUtil.scaleWithinRange(0, MAX_MEDALS, Arrays.asList(28, 36, 28, 15, 15)); BarChartPlot gold = Plots.newBarChartPlot(goldData, GOLD, "First LGF"); BarChartPlot silver = Plots.newBarChartPlot(silverData, SILVER, "Second HQY"); BarChartPlot bronze = Plots.newBarChartPlot(bronzeData, Color.BLACK, "Three CD"); // 定义表格 BarChart chart = GCharts.newBarChart(gold, silver, bronze); // Defining axis info and styles 定义坐标数据和表格 AxisStyle axisStyle = AxisStyle.newAxisStyle(BLACK, 13, AxisTextAlignment.CENTER); AxisLabels country = AxisLabelsFactory.newAxisLabels("Country", 50.0); country.setAxisStyle(axisStyle); AxisLabels countries = AxisLabelsFactory.newAxisLabels("Germany", "United Kingdom", "Russia", "USA", "China"); countries.setAxisStyle(axisStyle); AxisLabels medals = AxisLabelsFactory.newAxisLabels("Medals", 50.0); medals.setAxisStyle(axisStyle); AxisLabels medalCount = AxisLabelsFactory.newNumericRangeAxisLabels(0, MAX_MEDALS,5); medalCount.setAxisStyle(axisStyle); // Adding axis info to chart. chart.addXAxisLabels(medalCount); chart.addXAxisLabels(medals); chart.addYAxisLabels(countries); chart.addYAxisLabels(country); chart.addTopAxisLabels(medalCount); chart.setHorizontal(true); chart.setSize(450, 650); chart.setSpaceBetweenGroupsOfBars(30); chart.setTitle("2008 Beijing Olympics Medal Count", BLACK, 16); ///51 is the max number of medals. chart.setGrid((50.0/MAX_MEDALS)*20, 600, 3, 2); chart.setBackgroundFill(Fills.newSolidFill(LIGHTGREY)); LinearGradientFill fill = Fills.newLinearGradientFill(0, Color.newColor("E37600"), 100); fill.addColorAndOffset(Color.newColor("DC4800"), 0); chart.setAreaFill(fill); String url = chart.toURLString(); // EXAMPLE CODE END. Use this url string in your web or Internet application. System.out.println(normalize(url)); } }
example1生成的url
http://chart.apis.google.com/chart?cht=bvs&chs=600x450&chxt=y,y,x,x&chbh=50,20,8&chts=000000,20&chtt=Team+Scores&chg=10.0,20.0,3,2&chxp=1,50.0|3,50.0&chco=8A2BE2,FF4500,32CD32&chdl=Team+A|Team+B|Team+C&chd=e:QAbhHrTN,FIWZHCDN,GaMzTNTN&chxs=1,FF0000,13,0|3,FF0000,13,0&chf=bg,s,F0F8FF|c,lg,0,E6E6FA,1.0,FFFFFF,0.0&chxl=1:|Score|2:|2002|2003|2004|2005|3:|Year&chxr=0,0.0,200.0,20.0|1,0.0,100.0|3,0.0,100.0
example2 生成的url
http://chart.apis.google.com/chart?chbh=23,4,30&chco=FFD700,C0C0C0,000000&chd=e:..tLc3X2UF,aWvraWQUMj,jItLjIS0S0&chdl=First+LGF|Second+HQY|Three+CD&chf=bg,s,D3D3D3|c,lg,0,E37600,1.0,DC4800,0.0&chg=19.6078431372549,600.0,3,2&chs=450x650&cht=bhg&chts=000000,16&chtt=2008+Beijing+Olympics+Medal+Count&chxl=0:|Germany|United+Kingdom|Russia|USA|China|1:|Country|4:|Medals&chxp=1,50.0|4,50.0&chxr=1,0.0,100.0|2,0.0,51.0,5.0|3,0.0,51.0,5.0|4,0.0,100.0&chxs=0,000000,13,0|1,000000,13,0|2,000000,13,0|3,000000,13,0|4,000000,13,0&chxt=y,y,t,x,x
3. PieChart
/** * * The MIT License * * Copyright (c) 2011 the original author or authors. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package com.jspsmart.charts4j; import static com.googlecode.charts4j.Color.*; import org.junit.Test; import com.googlecode.charts4j.Color; import com.googlecode.charts4j.GCharts; import com.googlecode.charts4j.PieChart; import com.googlecode.charts4j.Slice; /** * * @author Julien Chastang (julien.c.chastang at gmail dot com) */ public class PieChartExample { @Test public void example1() { // 定义 切片 // percent - percent of pie. Must be >= 0. // color - color of slice. // sliceLabel - label associated with slice. 片标签 // sliceLegend - legend associated with slice. 颜色旁边的片图例 Slice s1 = Slice.newSlice(30, Color.newColor("CACACA"), "Safari", "Apple"); Slice s2 = Slice.newSlice(10, Color.newColor("DF7417"), "Firefox", "Mozilla"); Slice s3 = Slice.newSlice(10, Color.newColor("951800"), "Chrome", "Google"); Slice s4 = Slice.newSlice(10, Color.newColor("01A1DB"), "Internet Explorer", "Microsoft"); PieChart chart = GCharts.newPieChart(s1, s2, s3, s4); chart.setTitle("A Better Web", BLACK, 16); chart.setSize(500, 200); // 是否开启3D效果 chart.setThreeD(true); String url = chart.toURLString(); // EXAMPLE CODE END. Use this url string in your web or Internet application. System.out.println(url); } @Test public void example2() { // EXAMPLE CODE START Slice s1 = Slice.newSlice(90, YELLOW, "Ms. Pac-Man"); Slice s2 = Slice.newSlice(10, RED, "Red Lips"); PieChart chart = GCharts.newPieChart(s1, s2); chart.setTitle("2D Pie Chart", BLACK, 16); chart.setSize(500, 200); String url = chart.toURLString(); // EXAMPLE CODE END. Use this url string in your web or Internet application. System.out.println(url); } }
example1 url
http://chart.apis.google.com/chart?cht=p3&chs=500x200&chts=000000,16&chd=e:gAKqKqKq&chtt=A+Better+Web&chco=CACACA,DF7417,951800,01A1DB&chdl=Apple|Mozilla|Google|Microsoft&chl=Safari|Firefox|Chrome|Internet+Explorer
example2 url
http://chart.apis.google.com/chart?cht=p&chd=e:5mGa&chs=500x200&chts=000000,16&chtt=2D+Pie+Chart&chco=FFFF00,FF0000&chl=Ms.+Pac-Man|Red+Lips
4. ScatterChart
/** * * The MIT License * * Copyright (c) 2011 the original author or authors. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package com.jspsmart.charts4j; import static com.googlecode.charts4j.Color.WHITE; import org.junit.Test; import com.googlecode.charts4j.AxisLabels; import com.googlecode.charts4j.AxisLabelsFactory; import com.googlecode.charts4j.AxisStyle; import com.googlecode.charts4j.AxisTextAlignment; import com.googlecode.charts4j.Color; import com.googlecode.charts4j.Data; import com.googlecode.charts4j.Fills; import com.googlecode.charts4j.GCharts; import com.googlecode.charts4j.LinearGradientFill; import com.googlecode.charts4j.Plots; import com.googlecode.charts4j.ScatterPlot; import com.googlecode.charts4j.ScatterPlotData; import com.googlecode.charts4j.Shape; /** * * @author Julien Chastang (julien.c.chastang at gmail dot com) */ public class ScatterChartExample { @Test public void example1() { // 定义数据 Data d1 = Data.newData(10, 50, 30, 45, 65, 95, 20, 80); Data d2 = Data.newData(20, 40, 40, 15, 85, 95, 80, 20); Data pointSizes = Data.newData(100, 30, 50, 75, 40, 35, 80, 100); // xData - x data. Cannot be null. // yData - y data. Cannot be null. // pointSizes - size of x,y data. Cannot be null. ScatterPlotData data = Plots.newScatterPlotData(d1, d2, pointSizes); // 图例 Color shapeColor = Color.newColor("FF471A"); data.setLegend("表格提示"); data.setColor(Color.YELLOW); data.addShapeMarkers(Shape.CIRCLE, shapeColor, 30); ScatterPlot chart = GCharts.newScatterPlot(data); chart.setSize(600, 450); chart.setGrid(20, 20, 3, 2); AxisLabels axisLabels = AxisLabelsFactory.newNumericRangeAxisLabels(0, 100); axisLabels.setAxisStyle(AxisStyle.newAxisStyle(WHITE, 13, AxisTextAlignment.CENTER)); chart.addXAxisLabels(axisLabels); chart.addYAxisLabels(axisLabels); chart.setTitle("分散表格标题", WHITE, 16); // 填充背景颜色 chart.setBackgroundFill(Fills.newSolidFill(Color.RED)); // 设置表格背景 LinearGradientFill fill = Fills.newLinearGradientFill(0, Color.BLUE, 100); // 添加额外的填充渐变。 fill.addColorAndOffset(Color.BLACK, 0); chart.setAreaFill(fill); String url = chart.toURLString(); // EXAMPLE CODE END. Use this url string in your web or Internet application. System.out.println(url); } }
example1 url
http://chart.apis.google.com/chart?cht=s&chxt=y,x&chs=600x450&chco=FFFF00&chts=FFFFFF,16&chg=20.0,20.0,3,2&chm=o,FF471A,0,-1,30,0&chxr=0,0.0,100.0|1,0.0,100.0&chxs=0,FFFFFF,13,0|1,FFFFFF,13,0&chdl=%E8%A1%A8%E6%A0%BC%E6%8F%90%E7%A4%BA&chf=bg,s,FF0000|c,lg,0,0000FF,1.0,000000,0.0&chd=e:GagATNczpm8yMzzM,MzZmZmJm2Z8yzMMz,..TNgAv.ZmWZzM..&chtt=%E5%88%86%E6%95%A3%E8%A1%A8%E6%A0%BC%E6%A0%87%E9%A2%98
5. Swing
/** * The MIT License * * Copyright (c) 2011 the original author or authors. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package com.jspsmart.charts4j; import java.awt.BorderLayout; import java.io.IOException; import java.net.URL; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import org.junit.Ignore; import com.googlecode.charts4j.Data; import com.googlecode.charts4j.GCharts; import com.googlecode.charts4j.LineChart; import com.googlecode.charts4j.Plot; import com.googlecode.charts4j.Plots; /** * Example code for displaying a chart via Swing. This is an alternative * to displaying charts via JSP and Servlet technology. * * @author Julien Chastang (julien.c.chastang at gmail dot com) */ @Ignore("not a unit test, just a Java Swing example") public class SwingExample { /** * main * * @param s * args not read. * @throws IOException */ public static void main(String...s) throws IOException { Plot plot = Plots.newPlot(Data.newData(0, 66.6, 33.3, 100)); LineChart chart = GCharts.newLineChart(plot); displayUrlString(chart.toURLString()); } /** * Display the chart in a swing window. * @param urlString * the url string to display. * @throws IOException */ private static void displayUrlString(final String urlString) throws IOException{ JFrame frame = new JFrame(); JLabel label = new JLabel(new ImageIcon(ImageIO.read(new URL(urlString)))); frame.getContentPane().add(label, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } }
发表评论
-
List 遍历 ConcurrentModificationException
2013-07-05 17:39 1107有如下代码片段: public static void m ... -
foreach的原理
2013-07-05 14:49 863... -
java.util.Properties 简单用法
2013-04-25 10:05 16311. 认识properties文件 1、properties文 ... -
while 和 for 不完全相同
2013-03-07 11:05 8071. for和while的语法如下: for(initi ... -
(a + (a++)) 与 ((a++) + a)
2013-03-04 09:46 897直接上代码: public static void mai ... -
java 发送邮件错误收集
2012-10-31 19:00 8381. 报错: Exception in thread &qu ... -
Add Deployment java.lang.NullPointerException
2012-08-22 17:28 33761. 在用Myeclipse部署项目时候突然报错: 无法 ... -
Undefined exploded archive location
2012-08-22 17:14 9841. 用Myeclipse部署web系统wlms时候报如下错误 ... -
java @override 报错处理
2012-07-25 16:17 854有时候在自己电脑上编译通过的java代码,在别人那里却编译不通 ... -
java 环境变量配置
2012-07-25 10:01 964windows xp下配置JDK环境变量: 1.安 ... -
java 源码解析--LinkedList
2012-03-13 14:20 1187LinkedList 1.看源码前应该知道的知识点 ... -
java 源码解析--ArrayList
2012-03-13 09:51 1336ArrayList 1.看源码前应该知道的知识点 / ... -
java 三大特性--封装、继承和多态理解
2012-03-12 15:21 3796封装 /** * 所谓封装,就是将对象具有的成员变量和 ... -
java 关键字 clone
2012-02-24 17:24 8621. 最简单的clone例子 /** * */ ... -
java 基础之(equals hashcode)
2012-01-19 11:02 11281.equals 的等价关系 2. ... -
Myeclipse Code Template 基本设置
2012-01-13 11:17 22241. 设置注释模板的入口: Window->Prefer ... -
java 基础之(接口)
2011-11-28 15:20 935“interface”(接口)关 ... -
java 基础之(抽象类)
2011-11-28 15:15 961抽象方法 :它属于一种不完整的方法, 只含有一个声明,没有方法 ... -
位移运算符
2011-11-04 11:46 967package com.lgf.operation; / ... -
java 关键字 final
2011-10-25 09:52 8991. final 数据 package com.lgf.k ...
相关推荐
这篇博客"使用Fusion Charts制作报表(dom4j生成XML)"主要介绍了如何利用Fusion Charts结合DOM4J库来生成XML数据,从而创建动态报表。 首先,我们需要理解Fusion Charts的核心概念。Fusion Charts提供了一系列预定...
《安卓图表报表应用详解——基于XCL-Charts的实践指南》 在移动应用开发中,数据可视化是一项重要的任务,尤其在安卓平台上,清晰、直观的图表报表能够帮助用户更好地理解和分析数据。本篇将深入探讨一款名为XCL-...
在实际应用中,docx4j-charts-api可以被用于生成报表服务、数据分析工具或者任何需要将数据可视化的场景。例如,一个Web应用可以接收用户输入的数据,然后利用此API动态创建图表并将其嵌入到Word或PowerPoint模板中...
1. charts4j是基于Google Chart API的开源框架,因此在中国大陆可能无法正常使用,因为许多厂商屏蔽了Google Chart API。 2. android-ski-report是一个免费的解决方案,但具体功能和兼容性需要进一步调查。 3. ...
Excel Report Builder Excel Report 万能报表平台 Excel 使用WEB服务(webservice)访问远程数据库 使用本软件可以使你的应用系统(数据库)和excel相连。 可以把它嵌入到你的应用系统里,做为应用系统的...
在实际应用中,制作图表报表通常会用到专门的库,如MPAndroidChart、AChartEngine、Charts4J等。这些库提供了丰富的图表类型,如柱状图、折线图、饼图等,并支持自定义样式和动画,可以方便地集成到Android应用中。...
4. Charts4J:这是Google Charts的一个Java接口,可以在Android上使用Google Charts API来创建各种复杂的图表。 5. AnyChart:一个跨平台的JavaScript图表库,通过WebView组件在Android上也能使用,提供多种交互式...
四、查看Dubbo简易监控中心报表数据 重新启动Dubbo-monitor简易监控中心后,可以进入Dubbo简易监控中心查看对应的报表数据,包括服务提供者和服务消费者的调用统计报表。 Dubbo监控中心和简易监控中心可以实时监控...
开发者可能使用JDBC(Java Database Connectivity)API来与Oracle数据库进行交互,执行SQL语句,实现数据的增删改查和报表导出功能。 SHH(Secure SHell)可能指的是SSH协议,用于远程登录和安全管理,确保数据传输...
4. Open Flash Chart:这是一个开源的Flash图表组件,用于生成动态图表,特别适合那些希望在网页中添加图表的开发者。 5. Free PHP Graph/Chart:FusionCharts是免费且开源的Flash图表组件,可用于创建各种Web应用...
Excel Report Builder Excel Report 万能报表平台 Excel 使用WEB服务(webservice)访问远程数据库 使用本软件可以使你的应用系统(数据库)和excel相连。 可以把它嵌入到你的应用系统里... 报表安装包: ...
Excel Report Builder Excel Report 万能报表平台 Excel 使用WEB服务(webservice)访问远程数据库 使用本软件可以使你的应用系统(数据库)和excel相连。 可以把它嵌入到你的应用系统里,做为应用系统的...
4. **高级功能**:除了基本的读写操作,JExcelAPI还可以处理图表、数据验证、超链接等更复杂的Excel特性。例如,`charts`包提供了创建和修改Excel图表的功能。 三、JExcelAPI使用示例 以下是一个简单的使用...
- `dubbo.container`: 指定了容器类型,包括日志管理(log4j)、Spring容器(spring)、注册中心(registry)和Jetty服务器(jetty)。 - `dubbo.application.name`: 应用名称,便于管理和识别。 - `dubbo.application.owner...
在Delphi编程环境中,开发人员经常需要将应用程序的数据导出到Excel格式,以便于数据分析、报表制作或与其他软件共享。本教程将聚焦于一个相对简单的任务:如何在Delphi中导出Excel二维图,这对于初学者来说是一个很...
myExcel.Cells[1, 4] = "普通报表"; // 写入数据 for (int i = 0; i (0); i++) { for (int j = 0; j (1); j++) { myExcel.Cells[i + 2, j + 1] = myData[i, j]; } } // 保存文件 myBook.SaveAs(output...