中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用Java如何實現生成一個表格圖片

發布時間:2020-11-04 16:31:07 來源:億速云 閱讀:293 作者:Leah 欄目:開發技術

利用Java如何實現生成一個表格圖片?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

主要代碼:

/**
 * 生成圖片
			 * @param cellsValue 以二維數組形式存放 表格里面的值
			 * @param path 文件保存路徑
			 */
			public void myGraphicsGeneration(String cellsValue[][], String path) {
				// 字體大小
				int fontTitileSize = 15;
				// 橫線的行數
				int totalrow = cellsValue.length+1;
				// 豎線的行數
				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);
				}
				//設置字體
				Font font = new Font("微軟雅黑",Font.BOLD,fontTitileSize);
				graphics.setFont(font);
				//寫標題
				String title = "【指標完成進度】";
				graphics.drawString(title, startWidth, startHeight+rowheight-10);
				//寫入內容
				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日","累計用戶數","目標值","完成進度","時間進度", "進度差異"}, {"掌廳客戶端(戶)","469281","1500000","31.2%","33.6%", "-2.4%"}};
					String[][] tableData2 = {{"8月31日(戶)","新增用戶數","日訪問量","累計用戶數","環比上月"},
					{"合肥和巢湖","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如何實現生成一個表格圖片

關于利用Java如何實現生成一個表格圖片問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高邮市| 平安县| 博野县| 饶河县| 虹口区| 新巴尔虎左旗| 温泉县| 黔东| 大丰市| 安康市| 邛崃市| 涿鹿县| 锦屏县| SHOW| 建湖县| 铜鼓县| 策勒县| 客服| 喀喇沁旗| 来宾市| 浪卡子县| 隆林| 简阳市| 和平区| 鄂伦春自治旗| 肃北| 汽车| 贵定县| 拜城县| 晋城| 贺兰县| 工布江达县| 武威市| 姚安县| 乐昌市| 娄底市| 盐源县| 周口市| 丹凤县| 广饶县| 渝北区|