導航:首頁 > 編程語言 > excel圖表java

excel圖表java

發布時間:2022-07-27 16:03:52

『壹』 java調用EXCEL中圖表

oh my god 這么有難度的問題才10分,我倒,我就回答價值十分的答案吧,
1。去網上查nodes的資料(如果你對數據結構不了解的話,可以不用看了)
2。poi,apache開發的東東,不過不怎麼好用,HSSF用來實現Excel 的讀寫.以下是HSSF的主頁

http://jakarta.apache.org/poi/hssf/index.html

『貳』 java操作word中的excel(對應的是圖表,如柱狀圖)

我.net中也遇到了相同的問題:你可以先看一下下面代碼,應該大部分你能用到,只是chart屬性可能有點問題,之前嘗試成功過,但是由於我不小心刪除了一些系統文件里的內容,就有些運行不起來了
我是先循環的word中的shape
foreach (Microsoft.Office.Interop.Word.Shape shape in docFile.Shapes)
{
if(shape.Name=="Chart_圖表")
{
shape.Chart.ChartData.Activate();
Microsoft.Office.Interop.Excel.Workbook wb = (Microsoft.Office.Interop.Excel.Workbook)shape.Chart.ChartData.Workbook;
Microsoft.Office.Interop.Excel.Worksheet wSh = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[1];
//然後添加新數據
for (int r = 0; r < tempdt.Rows.Count; r++)
{
for (int k = 0; k < tempdt.Columns.Count; k++)
{
Microsoft.Office.Interop.Excel.Range Rng1 = wSh.Cells[r + 2, k + 1] as Microsoft.Office.Interop.Excel.Range;
Rng1.Value = tempdt.Rows[r][k];
}
}
wb.Application.ScreenUpdating = true;
wb.Close(Type.Missing, Type.Missing, Type.Missing);
chart.Refresh();
shape.Chart.Refresh();
}
}

『叄』 java 中什麼包可以操作excel的宏 生成圖表! 高分求解!

宏可以錄制你一系列的操作,錄制之後,你再點宏,電腦就可以自動重復你在word或excel的一系列事件。以word為例,你可以點宏,然後點錄制,然後做一系列操作,如無格式粘貼、左對齊、居中。然後點結束宏。然後你再打開一篇文檔,點宏,電腦你會重復你剛才的這些操作。這樣對大量文字的排版來說,非常方便。

『肆』 java 導出Excel數據如何生成圖表,如柱狀圖,折線圖

我以前做的是利用jfreechart生成圖片,導出excel的時候把圖片放進去。

『伍』 java中如何向excel中繪制柱狀圖

它完全使用JAVA語言編寫,是為applications, applets, servlets 以及JSP等使用所設計。JFreeChart可生成餅圖(pie charts)、柱狀圖(bar charts)、散點圖(scatter plots)、時序圖(time series)、甘特圖(Gantt charts)等等多種圖表,並且可以產生PNG和JPEG格式的輸出,還可以與PDF和EXCEL關聯。

『陸』 java如何在excel中生成圖表

利用POI3.5_HSSF_和XSSF_Excel操作快速入門手冊。你可以看看這個,這個是在網路文庫查詢到的,http://wenku..com/view/0541b193daef5ef7ba0d3cb6.html,你看看這個吧,這個很好用,我一直用這個,就是不知道你希望生成的是什麼樣子的。

『柒』 java如何讀取excel中報表(柱狀圖)的信息

public class Report {
/**作用:報表樣式的枚舉,該類的getvalue方法返回對應值。<br>
* Columns_2DVer:2D柱狀垂直報表。<br>
* Columns_3DVer:3D柱狀垂直報表。<br>
* Columns_2DHor:2D柱狀水平報表。<br>
* Columns_3DHor:3D柱狀水平報表。
* */
public enum ReportType{
Columns_2DVer("Z2DV"),
Columns_3DVer("Z3DV"),
Columns_2DHor("Z2DH"),
Columns_3DHor("Z3DH"),
LineReport_2D("Line2D"),
LineReport_3D("Line3D"),
PieReport_2D("Pie2D"),
PieReport_3D("Pie3D");
private ReportType(String a){
this.str=a;
}
private String str;
public String getvalue(){
return this.str;
}
}
/**作用:作為創建報表時的參數。<br>
* 成員1:報表的標題。<br>
* 成員2:報表的橫坐標標題。<br>
* 成員3:報表的縱坐標標題。<br>
* 成員4:JSP頁面的request對象。<br>
* 成員5:報表所保存的文件名。<br>
* 成員6:報表的長度。<br>
* 成員7:報表的寬度。<br>
* 成員8:報表的背景顏色,默認為白色。<br>
* 成員9:報表網格中豎線的顏色,默認為黑色。<br>
* 成員10:報表網格中橫線的顏色,默認為黑色。<br>
* 成員11:報表橫軸內容的數組。<br>
* 成員12:報表縱軸內容的list數組。<br>
* 成員13:提示信息。如果寫入多個提示信息,報表就變成多柱狀。<br>
* 成員14:報表的模式。詳見reportType枚舉類<br>
* 成員15:餅狀圖專用的數值數組。數組的和必須等於1.<br>
* 注意1:要在JSP頁面引入該類型才能使用,橫縱軸數組的長度必須一致。<br>
* 注意2:如果在提示信息數組中寫入了多個提示信息,那麼報表縱軸內容的
* list中就必須存放入和它數量一致的int數組。否則會出錯。
* */
public class ReportClass{
public String ReportTitle;
public String xTitle;
public String yTitle;
public HttpServletRequest request;
public String filename;
public int width;
public int height;
public Color BackgroundColor=Color.WHITE;
public Color ylineColor=Color.BLACK;
public Color xlineColor=Color.BLACK;
public String[] xValues;
public ArrayList<int[]> yValue=new ArrayList<int[]>();
public String[] helpstr;
public String reportType;
public double[] PieValue;
}
/**作用:創建一個指定類型和數據的圖表。<br>
* 參數1:ReportClass類型,各成員具體作用參見ReportClass說明<br>
* 返回值:String類型,在JSP頁面可以直接out.println顯示圖形。<br>
* 注意1:ReportClass類型中,必須設置的成員主要有:<br>
* 1、ReportTitle 2、request 3、filename 4、width 5、height 6、reportType<br>
* 注意2:如果要生成餅狀圖,還需要設置:<br>
* 1、xValues 2、PieValue 這兩個數組的長度必須一致<br>
* 注意3:如果要生成柱狀圖或折線圖,還需要設置:<br>
* 1、xValues 2、yValue 3、helpstr<br>
* yvalue數組總和必須等於1.即100%.<br>
* 如果要生成多柱狀或折線圖,則需要設置helpstr長度。<br>
* yvalue列表的長度必須和helpstr數組長度一致。<br>
* yvalue中的成員數組的長度必須和xvalue數組長度一致。
* */
public String CreateReport(ReportClass rc){
String s="sf";
String str="";
JFreeChart jc=null;
Font titlefont=new Font("宋體",Font.BOLD,20);
Font tickfont=new Font("宋體",0,15);
Font labelfont=new Font("宋體",Font.BOLD,15);
DefaultCategoryDataset ds=null;
DefaultPieDataset pds=null;
if (rc.ReportTitle!=null){
if (rc.reportType.indexOf("Pie")!=-1){//餅狀圖
pds=new DefaultPieDataset();
double[] ob=rc.PieValue;
for (int i=0;i<ob.length;i++){
pds.setValue(rc.xValues[i], ob[i]);
}
if (rc.ReportTitle!=null){
if (rc.reportType.equals("Pie2D")){
jc=ChartFactory.createPieChart(rc.ReportTitle,pds,true, true, false);
}
else if (rc.reportType.equals("Pie3D")){
jc=ChartFactory.createPieChart3D(rc.ReportTitle,pds,true, true, false);
}
jc.getTitle().setFont(titlefont);
jc.getLegend().setItemFont(labelfont);
jc.setBackgroundPaint(rc.BackgroundColor);//總背景色
jc.setBorderPaint(rc.BackgroundColor);
PiePlot plot=(PiePlot)jc.getPlot();
plot.setBackgroundPaint(rc.BackgroundColor);
plot.setLabelFont(new Font("宋體",0,15));
}
}
else { //柱狀或折線圖
ds=new DefaultCategoryDataset();
for (int i=0;i<rc.helpstr.length;i++){
int[] ob=rc.yValue.get(i);
for (int j=0;j<ob.length;j++){
ds.addValue(ob[j], rc.helpstr[i], rc.xValues[j]);
}
}
if (rc.reportType.indexOf("Z2D")!=-1){
PlotOrientation po=null;
if (rc.reportType.indexOf("V")!=-1){
po=PlotOrientation.VERTICAL;
}
else if (rc.reportType.indexOf("H")!=-1){
po=PlotOrientation.HORIZONTAL;
}
jc=ChartFactory.createBarChart(rc.ReportTitle, rc.xTitle, rc.yTitle,
ds, po, true, true, false);
}
else if (rc.reportType.indexOf("Z3D")!=-1){
PlotOrientation po=null;
if (rc.reportType.indexOf("V")!=-1){
po=PlotOrientation.VERTICAL;
}
else if (rc.reportType.indexOf("H")!=-1){
po=PlotOrientation.HORIZONTAL;
}
jc=ChartFactory.createBarChart3D(rc.ReportTitle, rc.xTitle, rc.yTitle,
ds, po, true, true, false);
}
else if (rc.reportType.equals("Line2D")){
PlotOrientation po=PlotOrientation.VERTICAL;
jc=ChartFactory.createLineChart(rc.ReportTitle, rc.xTitle, rc.yTitle,
ds, po, true, true, false);
}
else if (rc.reportType.equals("Line3D")){
PlotOrientation po=PlotOrientation.VERTICAL;
jc=ChartFactory.createLineChart3D(rc.ReportTitle, rc.xTitle, rc.yTitle,
ds, po, true, true, false);
}
jc.getTitle().setFont(titlefont);
jc.getLegend().setItemFont(labelfont);
jc.setBackgroundPaint(rc.BackgroundColor);//總背景色
CategoryPlot cp=jc.getCategoryPlot();
cp.setBackgroundPaint(rc.BackgroundColor);//圖形框架背景色
cp.setDomainGridlinePaint(rc.ylineColor);//圖形背景網格中豎線的顏色
cp.setDomainGridlinesVisible(true);
cp.setRangeGridlinePaint(rc.xlineColor);//圖形背景網格中橫線的顏色
cp.getDomainAxis().setTickLabelFont(tickfont);
cp.getDomainAxis().setLabelFont(labelfont);
cp.getRangeAxis().setTickLabelFont(tickfont);
cp.getRangeAxis().setLabelFont(labelfont);
}
try {
File ff=new File(rc.request.getRealPath("/")+"file");
if (!ff.exists()){
ff.mkdir();
}
File file=new File(rc.request.getRealPath("/")+"file/"+rc.filename);
if (!file.exists()){
file.createNewFile();
}
ChartUtilities.saveChartAsJPEG(file, jc, rc.width, rc.height);
str="<img src='"+file.getPath()+"'>";
return str;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
else {
return null;
}
}

}

以前寫的一個報表的集成,可以生成任何形式的報表,要引入JFreeChar.你可以慢慢研究下...

『捌』 怎麼用java實現讀取excel表格里的數據生成曲線圖

首先使用JXL讀取excel的數據
然後使用JFreeChart把數據轉成曲線圖
說明:
jxl.jar是通過java操作excel表格的工具類庫支持Excel 95-2000的所有版本
JFreeChart是JAVA平台上的一個開放的圖表繪制類庫.

效果圖

『玖』 java導出excel圖表

通過Java程序導出帶圖表的excel嗎?參考下面用spire.xls.jar來創建Excel圖表的方法,這里以創建餅圖為例,當然你也可以指定創建其他圖表類型,如柱狀圖、折線圖、雷達圖、散點圖等等:

import com.spire.xls.*;

import com.spire.xls.charts.ChartSerie;

import java.awt.*;

public class CreatePieChart {

public static void main(String[] args) {

//創建Workbook對象

Workbook workbook = new Workbook();

//獲取第一個工作表

Worksheet sheet = workbook.getWorksheets().get(0);

//將圖表數據寫入工作表

sheet.getCellRange("A1").setValue("年份");

sheet.getCellRange("A2").setValue("2002");

sheet.getCellRange("A3").setValue("2003");

sheet.getCellRange("A4").setValue("2004");

sheet.getCellRange("A5").setValue("2005");

sheet.getCellRange("B1").setValue("銷售額");

sheet.getCellRange("B2").setNumberValue(4000);

sheet.getCellRange("B3").setNumberValue(6000);

sheet.getCellRange("B4").setNumberValue(7000);

sheet.getCellRange("B5").setNumberValue(8500);

//設置單元格樣式

sheet.getCellRange("A1:B1").setRowHeight(15);

sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);

sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);

sheet.getCellRange("A1:B1").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);

sheet.getCellRange("A1:B1").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);

sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat(""¥"#,##0");

//添加餅圖

Chart chart = sheet.getCharts().add(ExcelChartType.Pie);

//設置圖表數據區域

chart.setDataRange(sheet.getCellRange("B2:B5"));

chart.setSeriesDataFromRange(false);

//設置圖表位置

chart.setLeftColumn(3);

chart.setTopRow(1);

chart.setRightColumn(11);

chart.setBottomRow(20);

//設置圖表標題

chart.setChartTitle("年銷售額");

chart.getChartTitleArea().isBold(true);

chart.getChartTitleArea().setSize(12);

//設置系列標簽

ChartSerie cs = chart.getSeries().get(0);

cs.setCategoryLabels(sheet.getCellRange("A2:A5"));

cs.setValues(sheet.getCellRange("B2:B5"));

cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);

chart.getPlotArea().getFill().setVisible(false);

//保存文檔

workbook.saveToFile("output/PieChart.xlsx", ExcelVersion.Version2016);

}

}

餅圖創建效果:

excel餅狀圖效果

閱讀全文

與excel圖表java相關的資料

熱點內容
wpsppt怎麼轉pdf格式 瀏覽:86
騰訊文檔在線編輯怎麼添加密碼 瀏覽:868
本地不能訪問伺服器地址 瀏覽:865
訪問伺服器命令 瀏覽:835
華為雲伺服器分銷商 瀏覽:954
Linux定位內存泄露 瀏覽:198
工程加密狗視頻 瀏覽:720
不在內網怎麼連接伺服器 瀏覽:664
雲伺服器app安卓下載 瀏覽:966
如何查看linux伺服器的核心數 瀏覽:137
交易平台小程序源碼下載 瀏覽:148
程序員記筆記用什麼app免費的 瀏覽:646
java與單片機 瀏覽:897
伺服器內網如何通過公網映射 瀏覽:478
程序員穿越到宋代 瀏覽:624
怎麼使用雲伺服器掛游戲 瀏覽:618
真實的幸福pdf 瀏覽:344
d盤php調用c盤的mysql 瀏覽:266
怎麼樣搭建源碼網站 瀏覽:429
新概念四冊pdf 瀏覽:364