//读取
public void readInexcel(){
Workbook book;
try {
book = Workbook.getWorkbook(new File("d:/TEST.xls"));
List<String>list=new ArrayList<String>();
// 获得第一个工作表对象
Sheet st = book.getSheet(0);
// 得到单元格
// System.out.println(st.getColumns());
// System.out.println(st.getRows());
for (int i=0;i<st.getColumns();i++){
for (int j=0;j<st.getRows();j++){
Cell c1 = st.getCell(i,j);
String name = c1.getContents().replace(" ", "");
if(name!=null&&!name.equals("")){
list.add(name);
}
if(list.size()>=2000){
userService.insertNickName(list);
list.clear();
}
}
}
book.close();
if(list!=null&&list.size()!=0){
userService.insertNickName(list);
list=null;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//写入
public static void writeExcel(String fileName){
WritableWorkbook wwb = null;try {
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
e.printStackTrace();
}
if(wwb!=null){
//创建一个可写入的工作表
//Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("sheet1", 0);
//下面开始添加单元格
for(int i=0;i<10;i++){
for(int j=0;j<5;j++){
//这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行
Label labelC = new Label(j, i, "这是第"+(i+1)+"行,第"+(j+1)+"列");
try {
//将生成的单元格添加到工作表中
ws.addCell(labelC);
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
try {
//从内存中写入文件中
wwb.write();
//关闭资源,释放内存
wwb.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}