1
package test;
2
3
import java.io.ByteArrayOutputStream;
4
import java.io.File;
5
import java.io.FileInputStream;
6
import java.io.FileOutputStream;
7
import java.io.IOException;
8
9
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
10
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
11
import org.apache.poi.hssf.usermodel.HSSFSheet;
12
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
13
14
public class PicExcelTest {
15
16
public static void main(String[] args) throws IOException {
17
18
FileOutputStream out = new FileOutputStream("D:/workbook.xls");
19
HSSFWorkbook wb = new HSSFWorkbook();
20
21
HSSFSheet sheet1 = wb.createSheet("picture");
22
HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();;
23
HSSFClientAnchor anchor1 = new HSSFClientAnchor(0,0,0,0,(short)0,0,(short)8,20);
24
HSSFClientAnchor anchor2 = new HSSFClientAnchor(0,0,0,0,(short)0,24,(short)8,44);
25
patriarch.createPicture(anchor1, wb.addPicture(loadImage("D:/Sunset.jpg"),HSSFWorkbook.PICTURE_TYPE_JPEG));
26
patriarch.createPicture(anchor2, wb.addPicture(loadImage("D:/Water lilies.jpg"),HSSFWorkbook.PICTURE_TYPE_JPEG));
27
28
wb.write(out);
29
out.close();
30
}
31
32
public static byte[] loadImage(String filePath) {
33
try {
34
FileInputStream input = new FileInputStream(new File(filePath));
35
ByteArrayOutputStream output = new ByteArrayOutputStream();
36
byte buf[] = new byte[1024];
37
for (;;) {
38
int noBytesRead = input.read(buf);
39
if (noBytesRead == -1) {
40
return output.toByteArray();
41
}
42
output.write(buf, 0, noBytesRead);
43
}
44
} catch (IOException e) {
45
throw new RuntimeException(e);
46
}
47
}
48
}
49

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49
