Java生成表格圖片的實例代碼
主要代碼:
/** * 生成圖片 * @param cellsValue 以二維數(shù)組形式存放 表格里面的值 * @param path 文件保存路徑 */public void myGraphicsGeneration(String cellsValue[][], String path) {// 字體大小int fontTitileSize = 15;// 橫線的行數(shù)int totalrow = cellsValue.length+1;// 豎線的行數(shù)int totalcol = 0;if (cellsValue[0] != null) {totalcol = cellsValue[0].length;}// 圖片寬度int imageWidth = 1024;// 行高int rowheight = 40;// 圖片高度int imageHeight = totalrow*rowheight+50;// 起始高度int startHeight = 10;// 起始寬度int startWidth = 10;// 單元格寬度int colwidth = (int)((imageWidth-20)/totalcol);BufferedImage image = new BufferedImage(imageWidth, imageHeight,BufferedImage.TYPE_INT_RGB);Graphics graphics = image.getGraphics();graphics.setColor(Color.WHITE);graphics.fillRect(0,0, imageWidth, imageHeight);graphics.setColor(new Color(220,240,240));//畫橫線for(int j=0;j<totalrow; j++){graphics.setColor(Color.black);graphics.drawLine(startWidth, startHeight+(j+1)*rowheight, startWidth+colwidth*totalcol, startHeight+(j+1)*rowheight);}//畫豎線for(int k=0;k<totalcol+1;k++){graphics.setColor(Color.black);graphics.drawLine(startWidth+k*colwidth, startHeight+rowheight, startWidth+k*colwidth, startHeight+rowheight*totalrow);}//設(shè)置字體Font font = new Font('微軟雅黑',Font.BOLD,fontTitileSize);graphics.setFont(font);//寫標題String title = '【指標完成進度】';graphics.drawString(title, startWidth, startHeight+rowheight-10);//寫入內(nèi)容for(int n=0;n<cellsValue.length;n++){for(int l=0;l<cellsValue[n].length;l++){if (n == 0) {font = new Font('微軟雅黑',Font.BOLD,fontTitileSize);graphics.setFont(font);}else if (n > 0 && l >0) {font = new Font('微軟雅黑',Font.PLAIN,fontTitileSize);graphics.setFont(font);graphics.setColor(Color.RED);} else {font = new Font('微軟雅黑',Font.PLAIN,fontTitileSize);graphics.setFont(font);graphics.setColor(Color.BLACK);}graphics.drawString(cellsValue[n][l].toString(), startWidth+colwidth*l+5, startHeight+rowheight*(n+2)-10);}}// 保存圖片createImage(image, path);} /** * 將圖片保存到指定位置 * @param image 緩沖文件類 * @param fileLocation 文件位置 */public void createImage(BufferedImage image, String fileLocation) {try {FileOutputStream fos = new FileOutputStream(fileLocation);BufferedOutputStream bos = new BufferedOutputStream(fos);JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);encoder.encode(image);bos.close();} catch (Exception e) {e.printStackTrace();}}
測試代碼:
public static void main(String[] args) {DrawTableImg cg = new DrawTableImg();try {String tableData1[][] = {{'8月31日','累計用戶數(shù)','目標值','完成進度','時間進度', '進度差異'}, {'掌廳客戶端(戶)','469281','1500000','31.2%','33.6%', '-2.4%'}};String[][] tableData2 = {{'8月31日(戶)','新增用戶數(shù)','日訪問量','累計用戶數(shù)','環(huán)比上月'},{'合肥和巢湖','469281','1500000','31.2%','33.6%'},{'蕪湖','469281','1500000','31.2%','33.6%'},{'蚌埠','469281','1500000','31.2%','33.6%'},{'淮南','469281','1500000','31.2%','33.6%'},{'馬鞍山','469281','1500000','31.2%','33.6%'},{'淮北','469281','1500000','31.2%','33.6%'}};cg.myGraphicsGeneration(tableData2, 'c:myPic.jpg');} catch (Exception e) {e.printStackTrace();}}
效果圖
以上就是Java生成表格圖片的實例代碼的詳細內(nèi)容,更多關(guān)于Java生成表格圖片的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 使用Python和百度語音識別生成視頻字幕的實現(xiàn)2. css代碼優(yōu)化的12個技巧3. CSS可以做的幾個令你嘆為觀止的實例分享4. xml中的空格之完全解說5. ASP刪除img標簽的style屬性只保留src的正則函數(shù)6. msxml3.dll 錯誤 800c0019 系統(tǒng)錯誤:-2146697191解決方法7. 利用ajax+php實現(xiàn)商品價格計算8. Vue的Options用法說明9. axios和ajax的區(qū)別點總結(jié)10. 怎樣才能用js生成xmldom對象,并且在firefox中也實現(xiàn)xml數(shù)據(jù)島?
