java 从Excel 输出和输入

Posted TheStar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 从Excel 输出和输入相关的知识,希望对你有一定的参考价值。

本文实现了使用java 从数据库中获得对象,并存入集合中,

然后输出到Excel,并设置样式

 1 package com.webwork;
 2 
 3 import java.io.File;
 4 import java.io.IOException;
 5 import java.util.List;
 6 
 7 import org.jdom.output.Format;
 8 
 9 import jxl.Workbook;
10 import jxl.write.Label;
11 import jxl.write.WritableCellFormat;
12 import jxl.write.WritableFont;
13 import jxl.write.WritableSheet;
14 import jxl.write.WritableWorkbook;
15 import jxl.write.WriteException;
16 import jxl.write.biff.RowsExceededException;
17 
18 public class Jxls {
19     public static void main(String[] args) {
20         try {
21             new Jxls().writeExcel();
22         } catch (RowsExceededException e) {
23             e.printStackTrace();
24         } catch (WriteException e) {
25             e.printStackTrace();
26         } catch (IOException e) {
27             e.printStackTrace();
28         }
29     }
30     public void writeExcel() throws RowsExceededException, WriteException, IOException{
31         new Jdbc().addList();
32         List< Student> stuLists = Jdbc.getStuList();
33         WritableWorkbook book =null;
34     
35              book = Workbook.createWorkbook(new File("e:/io/stuInfo.xls"));
36         
37         WritableSheet sheet =  book.createSheet("studentInfo", 0);
38 
39         /*
40          * format设置样式
41          */
42         //设置字体
43         WritableFont font1 = new WritableFont(WritableFont.ARIAL,18,WritableFont.BOLD);
44         WritableFont font2 = new WritableFont(WritableFont.ARIAL, 13, WritableFont.BOLD);
45         //格式化单元格
46         WritableCellFormat format1 = new WritableCellFormat(font1);
47         WritableCellFormat format2 = new WritableCellFormat(font2);
48         WritableCellFormat format3 = new WritableCellFormat();
49         //设置样式
50         format1.setAlignment(jxl.format.Alignment.CENTRE);//水平对齐方式
51         format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); //垂直对齐方式
52         format1.setBackground(jxl.format.Colour.LIGHT_BLUE);//设置背景颜色
53         format1.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);//设置边框
54         
55         
56         //合并单元格第一行
57         sheet.mergeCells(0, 0, 3, 0);
58         Label label =  new Label(0, 0, "yc95全班信息表",format1);
59         sheet.addCell(label);
60         
61         //设置每列小标题
62         String [] str = {"id","name","sex","age"};
63         for (int i = 0; i < str.length; i++) {
64                 sheet.addCell(new Label(i, 1, str[i]));
65                sheet.setColumnView(i, 20);//设置列宽
66         }
67         
68         for (int i = 2; i < stuLists.size(); i++) {
69             Student s = stuLists.get(i);
70             //System.out.println(s);
71             Label label1 = new Label(0,i ,s.getId());
72             Label label2 = new Label(1,i, s.getName());
73             Label label3 = new Label(2,i, s.getSex());
74             Label label4 = new Label(3,i, s.getAge());
75                     sheet.addCell(label1);
76                     sheet.addCell(label2);
77                     sheet.addCell(label3);
78                     sheet.addCell(label4);
79         }
80             book.write();
81             book.close();
82         System.out.println("插入excel数据成功!!!");
83     }
84 }

下面是excel中得到的内容

输出到Excel后,相应的就是从Excel中去取数据

 1 package com.webwork;
 2 
 3 import java.io.File;
 4 import java.io.IOException;
 5 import java.util.List;
 6 
 7 import jxl.Cell;
 8 import jxl.Sheet;
 9 import jxl.Workbook;
10 import jxl.read.biff.BiffException;
11 
12 public class ReadExcel {
13     public static void main(String[] args) {
14         List<Student> stuLists = Jdbc.getStuList();
15         Workbook book = null;
16         try {
17             book  = Workbook.getWorkbook(new File("e:/io/stuInfo.xls"));
18         } catch (BiffException e) {
19             e.printStackTrace();
20         } catch (IOException e) {
21             e.printStackTrace();
22         }
23         Sheet[] sheets = book.getSheets();
24         for (int i = 0; i < sheets.length; i++) {
25             Sheet sheet = sheets[i];
26             int rows=  sheet.getRows();
27             for (int j = 1; j < rows; j++) {
28                 Cell[] cells= sheet.getRow(j);
29                 for (int k = 0; k < cells.length; k++) {
30                     Cell cell = cells[k];
31                     String id = cell.getContents();
32                     System.out.print(id+"\\t");
33                 }
34                 
35                 System.out.println();
36             }
37             
38         }
39         
40         
41         
42     }
43 }

输出的结果如下:

 

以上是关于java 从Excel 输出和输入的主要内容,如果未能解决你的问题,请参考以下文章

java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段

如何用java导入Excel数据到数据库?

java中输入输出流如何把数据输出为Excel表格形式

java中输入输出流如何把数据输出为Excel表格形式

java 怎么读取Excel的数据,在控制台上输出来,看了很多网上的方法,都试试了,没效果,无用!

Java怎么输出一个表格