자바 엑셀 템 플 릿 조작 및 다운로드
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
* ZHF EXCEL
*
*
* org.apache.commons
* commons-collections4
* 4.2
*
*/
public class ExportExcelUtil {
public static void main(String[] args) {
ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
List
다운로드 종류:
// word
@RequestMapping(value = "/downWord")
@ResponseBody
public boolean downExcel(HttpServletRequest request, HttpServletResponse response) {
String path = request.getParameter("downUrl");
String regex = "YQSBYLB(.*?).xls";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(path);
while (m.find()) {
String filename = "YQSBYLB" + m.group(1) + ".xls";
ExcelExportUtil excelExport2 = new ExcelExportUtil();
return excelExport2.downLoadFile(path, response, request, filename, "xls");
}
return false;
}
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
public class ExcelExportUtil {
/**
* excel
*
* @param filePath
* @param response
* @param request
* @param fileName
* @param fileType
* @return
*/
public boolean downLoadFile(String filePath,
HttpServletResponse response, HttpServletRequest request,
String fileName, String fileType) {
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("UTF-8");
String downLoadPath = filePath;
long fileLength = new File(downLoadPath).length();
if ("pdf".equals(fileType)) {
response.setContentType("application/pdf;charset=UTF-8");
} else if ("xls".equals(fileType)) {
response.setContentType("application/x-msdownload;");
} else if ("doc".equals(fileType)) {
response.setContentType("application/msword;charset=UTF-8");
}
response.setHeader("Content-disposition", "attachment; filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1"));
response.setHeader("Content-Length", String.valueOf(fileLength));
bis = new BufferedInputStream(new FileInputStream(downLoadPath));
bos = new BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead;
while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff, 0, bytesRead);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bis != null)
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
if (bos != null)
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return true;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.