Я хочу создать загружаемый файл excel из моего контроллера java SPRING MVC с помощью библиотеки APACHE POI
Please I need A source Code import java.io.ByteArrayOutputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Set; import java.util.Calendar; import java.util.Date; import java.util.*; import java.util.TreeMap; import java.io.File; import java.io.IOException; import java.io.FileInputStream; import java.util.Iterator; import java.util.Scanner; import java.io.FileOutputStream; import java.util.Date; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.nio.file.Files; import java.nio.file.Paths; import org.apache.poi.ss.usermodel.*; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.CellStyle; //import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFCellStyle; import org.apache.poi.xssf.usermodel.XSSFColor; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.web.servlet.ModelAndView; @RequestMapping(value="/excel", method=RequestMethod.GET) // public ResponseEntity<byte[]> poi(Model model, HttpServletRequest httpServletRequest, HttpServletResponse response) { public String poi(){ XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet = workbook.createSheet("Employee Data"); Map<String, Object[]> data = new TreeMap<String, Object[]>(); data.put("1", new Object[] {"ID", "NAME", "LASTNAME"}); data.put("2", new Object[] {1, "Amit", "Shukla"}); data.put("3", new Object[] {2, "Lokesh", "Gupta"}); data.put("4", new Object[] {3, "John", "Adwards"}); data.put("5", new Object[] {4, "Brian", "Schultz"}); Set<String> keyset = data.keySet(); int rownum = 0; for (String key : keyset) { XSSFRow row = sheet.createRow(rownum++); Object [] objArr = data.get(key); int cellnum = 0; for (Object obj : objArr) { XSSFCell cell = row.createCell(cellnum++); if(obj instanceof String) cell.setCellValue((String)obj); else if(obj instanceof Integer) cell.setCellValue((Integer)obj); } } try { FileOutputStream out = new FileOutputStream(new File("excel_demo.xlsx")); workbook.write(out); out.close(); System.out.println("excel_demo.xlsx write succesfuly ondisk."); }catch (Exception e) {e.printStackTrace(); } HttpHeaders headers = new HttpHeaders(); headers.add("Content-Disposition", "attachment; filename=excel-demo.xlsx"); return ResponseEntity .ok() .headers(headers) .contentType(MediaType.APPLICATION_ALL) .body(outStream.toByteArray()); return "candidate/excel"; }
Что я уже пробовал:
вышеупомянутый код-это то, что я пробовал hv, используя библиотеку apache POI в своем проекте.
это делается для того, чтобы создать файл Excel и вернуть его так, чтобы он был загружен браузером.
Richard MacCutchan
В чем же проблема?
Member 14367500
я не могу загрузить файл MS-Excel через мой компилятор