Servlet中生成表格图片并向该表格填充数据?

发布于 2021-11-24 23:52:59 字数 534 浏览 954 评论 6

现在有一个需求,需要在servlet中代码生成一个表格的JPEG图片,并将数据库中查询的数据填充在该表格中,返回给JSp界面

比如是这么一个表格:


将该表格生成后,添加数据生成图片!

看了一些网上的资料,思路很混乱,想各位前辈多指教一下具体的思路和简单的做法。

步骤是不是应该是生成表格---填充数据---生成图片?

谢谢大家!新手,勿喷。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

谢绝鈎搭 2021-11-25 12:15:40

好的

无人问我粥可暖 2021-11-25 12:14:07

自己先计算有多少长度,再把线条设计成变量就行了。

残花月 2021-11-25 12:10:47

实际最后就是通过servlet输出就行了

落墨 2021-11-25 12:07:08

public static byte[] writeToFile(BufferedImage image) { byte[] data = null; ByteOutputStream bos = new ByteOutputStream(); try { ImageIO.write(image, "jpg", bos); data = bos.getBytes(); } catch (IOException e) { e.printStackTrace(); } return data; }

复古式 2021-11-25 11:55:56

嗯,不错,采纳了,按照你说的做出来了。但是唯一的不足就是表格的长度希望根据数据长短动态的变化长短,我试了一会没怎么成功,呵呵!总之很谢谢你的方法!

百思不得你姐 2021-11-25 10:57:47

BufferedImage image = new BufferedImage(600, 400, BufferedImage.TYPE_INT_RGB); String[][] data = new String[][]{ {"名称", "xxx"}, {"价格", "100"}, {"产地", "四川"} }; Graphics2D g2d = image.createGraphics(); g2d.setColor(Color.white); g2d.fillRect(0, 0, image.getWidth(), image.getHeight()); g2d.setColor(Color.black); g2d.setStroke(new BasicStroke(1)); g2d.setFont(new Font("宋体", Font.BOLD, 20)); for (int i = 0; i < data.length; i++) { for (int j = 0; j < data[i].length; j++) { g2d.drawString(data[i][j], 200 * (j )+120, 30 * (i + 1) + 30); } } int width = 200, height = 35; //坚线 int tableHeight = 0; for (int i = 0; i < 4; i++) { g2d.drawLine(100, i * height + 30, 500, i * height + 30); tableHeight = i * height + 30; } for (int j = 0; j < 3; j++) { g2d.drawLine(j * width + 100, 30, j * width + 100, tableHeight); } g2d.dispose(); byte[] bytes = ImageUtils.writeToFile(image);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文