⑴ java中怎么把excel导入数据库
1、利用Excel第三方工具,将Excel文件读取到内存中。使用最简单,方便的工具是apache的poi工具包,自己网上下载http://poi.apache.org/,使用方法网上一搜一大片。
2、如果是对于特别大的excel(大于20M的话),简单的读取方法就容易内存溢出了,需要采用流式读取的方式,参考http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api
3、将已读入内存的Excel数据,整理成写数据库的数据结构,然后插入数据库。这部分工作应该不用介绍了,就是基本的数据库操作方法,与excel无关了
⑵ 用Java向Excel中导入图片出现的问题
你的代码是好用的。
你说的即存的按钮是什么?
原来的excel中有一个按钮控件,
你现在导入图片以后,那个按钮没有了?
现在你的
excelPath
这个路径是 d:/workbook.xls ?
poi的excel就是先读出文件,关闭读取流。
然后再将整个work写入到 输出流,这个输出流 应该就是你读取的那个文件,
关才输出流以后,就实现了写入。
现在你导入图片的功能是没有问题的。
我觉得你读入的,也保存的,不是同一个。
⑶ java类 图片导入到excel 模糊 就是图片被盖上了一层红色
Java上传图片时,对某些图片进行缩放、裁剪或者生成缩略图时会蒙上一层红色,经过检查只要经过ImageIO.read()方法读取后再保存,该图片便已经变成红图。因此,可以推测直接原因在于ImageIO.read()方法加载图片的过程存在问题。
public static BufferedImage getImages(byte[] data) throws IOException {
ByteArrayInputStream input = new ByteArrayInputStream(data);
return ImageIO.read(input);
}
经过查阅得知ImageIO.read()方法读取图片时可能存在不正确处理图片ICC信息的问题,ICC为JPEG图片格式中的一种头部信息,导致渲染图片前景色时蒙上一层红色。解决方案:
不再使用ImageIO.read()方法加载图片,而使用JDK中提供的Image src=Toolkit.getDefaultToolkit().getImage
Image src=Toolkit.getDefaultToolkit().getImage(file.getPath());
BufferedImage image=BufferedImageBuilder.toBufferedImage(src);//Image to BufferedImage
或者Toolkit.getDefaultToolkit().createImage
Image imageTookit = Toolkit.getDefaultToolkit().createImage(bytes);
BufferedImage cutImage = BufferedImageBuilder.toBufferedImage(imageTookit);
BufferedImageBuilder源码:
public static BufferedImage toBufferedImage(Image image) {
if (image instanceof BufferedImage) {
return (BufferedImage) image;
}
// This code ensures that all the pixels in the image are loaded
image = new ImageIcon(image).getImage();
BufferedImage bimage = null;
GraphicsEnvironment ge = GraphicsEnvironment
.getLocalGraphicsEnvironment();
try {
int transparency = Transparency.OPAQUE;
GraphicsDevice gs = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gs.getDefaultConfiguration();
bimage = gc.createCompatibleImage(image.getWidth(null),
image.getHeight(null), transparency);
} catch (HeadlessException e) {
// The system does not have a screen
}
if (bimage == null) {
// Create a buffered image using the default color model
int type = BufferedImage.TYPE_INT_RGB;
bimage = new BufferedImage(image.getWidth(null),
image.getHeight(null), type);
}
// Copy image to buffered image
Graphics g = bimage.createGraphics();
// Paint the image onto the buffered image
g.drawImage(image, 0, 0, null);
g.dispose();
return bimage;
}
⑷ java 如何通过Excel批量上传图片
通过jxl.jar
去操作 遍历execl里面的cell然后取出路径值 去用for循环 验证所以路径是否合法 存在文件 都合法存储 不和法 则打印异常
如果不去验证 则无法确认是不是所有文件都上传了
如果是2007的execl、建议你去看看openxml Java操作的话可以用POI
⑸ Java 怎么把服务器中的图片导出到excel(图片的路径保存在数据库中的)
你用的什么包导出的excel啊,poi还是jxl还是其他的? poi和jxl都提供将图片以流形式导入到excel中的方法。
⑹ java中怎么让导入的excle表中每一条数据对应文件夹中对应的图片
保存数据时,连同图片路径一并保存在数据库中即可
⑺ java导入excel文件,内含图片,图片中有超链接,如何获取这个超链接
可以把图片上的超链接写到单元格获取吧,直接在图片上是没有办法获取的,除非使用OCR扫描获取整个图片的文字,然后提取超链接为字符串