1.创建excel文件
//这里的jxl不是java的标准jar包,需要在项目中另外加载 import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class ExcelDownload extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 生成xls try { Date d = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_kkmmss "); String random = sdf.format(d); String targetFile = random + ".excel"; response.setContentType("application/vnd.ms-excel"); response.addHeader("Content-Disposition", "attachment; filename="" + targetFile + """); OutputStream os = response.getOutputStream(); WritableWorkbook wwb = Workbook.createWorkbook(os); // 新建一张表 WritableSheet wsheet = wwb.createSheet("record", 0); // 设置表头 Label label = new Label(0, 0, ""); wsheet.addCell(label); label = new Label(0, 0, "会员姓名"); wsheet.addCell(label); label = new Label(1, 0, "卡号"); wsheet.addCell(label); label = new Label(2, 0, "联系地址"); wsheet.addCell(label); label = new Label(3, 0, "邮编"); wsheet.addCell(label); label = new Label(4, 0, "联系电话"); wsheet.addCell(label); label = new Label(5, 0, "手机"); wsheet.addCell(label); label = new Label(6, 0, "Email"); wsheet.addCell(label); label = new Label(7, 0, "性别"); wsheet.addCell(label); wwb.write(); wwb.close(); os.close(); response.flushBuffer(); } catch (Exception e) { System.out.println("生成信息表(Excel格式)时出错:"); e.printStackTrace(); } } }
2.读取excel文件
import java.io.*; import jxl.*; public class ReadExcel { public static void main(String[] args) { try{ Workbook book=Workbook.getWorkbook(new File("c: est.xls")); //获得第一个工作表对象 Sheet sheet=book.getSheet(0); //得到第2行第1列的单元格 Cell cell1=sheet.getCell(0,1); String result=cell1.getContents(); System.out.println(result); book.close(); } catch(Exception e){ System.out.println(e); } } }
3.修改excel文件,执行结果是在原有文件中加入了一个新的工作表
import java.io.*; import jxl.*; import jxl.write.*; public class UpdateExcel { public static void main(String[] args) { try { //获得Excel文件 Workbook wb=Workbook.getWorkbook(new File("c://test.xls")); //打开一个文件的副本,并且指定数据写回到原文件 WritableWorkbook book= Workbook.createWorkbook(new File("c://test.xls"),wb); //添加一个工作表eet,在第一行第一列填写内容 WritableSheet sheet=book.createSheet("第二页",1); sheet.addCell(new Label(0,0,"http://www.sunleap.com")); book.write(); book.close(); }catch(Exception e){ System.out.println(e); } System.out.println("操作结束!"); } }
详细使用,请参考jxl的api文档