java使用POI簡單操作excel表格
阿新 • • 發佈:2019-01-09
本文簡單寫記錄java操作excel表格並通過瀏覽器下載,前端程式碼沒有寫。
開發環境
工具環境:eclipse
專案環境:springboot
步驟
1.建立人員entity,包含姓名,年齡,性別
Person.java
public class Person{ private String name; private String age; private String sex; public Person( String name, String age, String sex ){ this.name = name; this.age = age; this.sex = sex; } public void setName( String name ){ this.name = name; } public String getName{ return name; } public void setAge( String age ){ this.age = age; } public String getAge(){ return age; } public void setSex( String sex){ this.sex = sex; } public String getSex(){ return sex; } }
2.編寫請求並下載類
DownLoadExcel.java
public class DownLoadExcel{ @RequestMapping("/a/download") //訪問地址 public void download(HttpServletRequest request, HttpServletResponse response ) throws Exception{ List<Person> list = new ArrayList<Person>(); list.add(new Person("jimy","23","男")); list.add(new Person("tom","24","女")); Workbook workbook = new ExportExcelBuilder().createExcel2013() .addStringColumn( "name" , "姓名" ,6000 ) .addStringColumn( "age" , "年齡" ,5000 ) .addStringColumn( "sex" , "性別" ,12000 ) .setSheetName("人員") .setData(Person.class,list) .build(); String titleName = "perosn_data.xlsx"; //儲存的檔名稱 // 解決中文亂碼問題 String user_Agent = request.getHeader("User-Agent"); //獲取頭部的User-Agent資訊 if(user_Agent.contains("Firefox")){ //火狐瀏覽器中文亂碼 ExcelUtils.setDownloadForFirefox(workbook, response, titleName); }else{// ie瀏覽器中文亂碼 ExcelUtils.setDownload(workbook, response, titleName); } } public static void setDownloadForFirefox(Workbook workbook, HttpServletResponse response, String fileName) throws IOException { fileName=base64EncodeFileName(fileName); response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); response.setContentType("application/vnd.ms-excel"); try (OutputStream outputStream = response.getOutputStream()) { save(workbook, outputStream); } } }
注:使用POI需要匯入
由於實際使用的程式碼比較多,沒有貼出實際使用的程式碼。這裡手動敲了個最簡單的程式碼,程式碼並沒有測試。對於POI操作word生成word檔案,後面有時間會記錄到部落格。