/**
* 把从数据库查询到的数据,写入电子表格
*
* @throws Exception
*/
public void createXls() throws Exception {
Dao dao = new Dao();
List<Inf> list = dao.getList();//得到数据
/*****************************************************/
OutputStream out = new FileOutputStream("e:/数据报表.xls");//产生输出流,用于输出文件
//工作簿
WritableWorkbook wb = Workbook.createWorkbook(out);//它输出的内容,将会输出到out流对应的文件中
//利用wb产生一张工作表
WritableSheet st = wb.createSheet("我的工作表",0);//产生工作表,它是工作簿中的第1张表
//产生label,它就是显示x行x列的数据
Label idLabel = new Label(0,0,"编号");
Label nameLabel = new Label(1,0,"姓名");
Label ageLabel = new Label(2,0,"年龄");
//把label添加到对应的位置
st.addCell(idLabel);
st.addCell(nameLabel);
st.addCell(ageLabel);
for(int i=0;i<list.size();i++){
Inf f = list.get(i);//取得集合中的每一个对象
Label id = new Label(0,i+1,f.getId().toString());
Label name = new Label(1,i+1,f.getName());
Label age = new Label(2,i+1,f.getAge().toString());
st.addCell(id);
st.addCell(name);
st.addCell(age);
}
//输出工作簿
wb.write();
wb.close();
out.close();
数据:
/**
* 从数据库中查询
* @return
*/
public List<Inf> getList(){
List<Inf> list= new ArrayList<Inf>();
list.add(new Inf(1,"jack",23));
list.add(new Inf(2,"tom",25));
list.add(new Inf(3,"bruce",22));
return list;
}
jxl读取Excel
/**
* 把电子表格中的数据,读入到程序中
*/
public void readXls() throws Exception {
// 1、用输入流读取文件
InputStream in = new FileInputStream("c:/数据报表.xls");
// 2、根据输入流中的信息,得到电子表格文档--------工作簿
Workbook wb = Workbook.getWorkbook(in);
// int sheets = wb.getNumberOfSheets();//得到当前工作簿包含几张表
Sheet st = wb.getSheet(0);// 取得工作簿中的第一张表
// 3、取得电子表格的总行数
int rows = st.getRows();
// 4、取得电子表格的总列数
int columns = st.getColumns();
System.out.println("编号\t名称\t价格");
for (int i = 1; i < rows; i++) {// 循环每一行
for (int j = 0; j < columns; j++) { // 循环每一列
Cell c = st.getCell(j, i);
System.out.print(c.getContents() + "\t");
}
System.out.println("");
}
in.close();
}
jxl的jar包:jxl.jar
来源:https://www.cnblogs.com/gavenQin/p/5628917.html