package excelupload;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import org.apache.poi.hssf.usermodel.HSSFFont;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;

public class ExcelUtils {
 public static void main(String[] args) {
  HSSFWorkbook workbook = new HSSFWorkbook(); // 새 엑셀 생성
  HSSFSheet sheet = workbook.createSheet("시트명"); // 새 시트(Sheet) 생성
  HSSFRow row  = null;
  HSSFCell cell = null;
  for (int j = 0; j < 10; j++) {
   row = sheet.createRow(j); // 엑셀의 행은 0번부터 시작
   for (int i = 0; i < 10; i++) {
    cell = row.createCell(i); // 행의 셀은 0번부터 시작
    row.createCell(1, CellType.STRING);
    cell.setCellValue("테스트 데이터" + i); // 생성한 셀에 데이터 삽입
   }
  }

  try {
   FileOutputStream fileoutputstream = new FileOutputStream("C:\\Users\\k\\Desktop\\dd.xls");
   workbook.write(fileoutputstream);
   fileoutputstream.close();
   System.out.println("엑셀파일생성성공");
  } catch (IOException e) {
   e.printStackTrace();
   System.out.println("엑셀파일생성실패");
  }
 }

}

 

 출처 http://boxfoxs.tistory.com/304

블로그 이미지

왕왕왕왕

,

@SuppressWarnings("unchecked")

public static List<Map<String, Object>> jsonArrStrToList(String jsonArrString) {

/** Local Value Object */

ObjectMapper mapper = null;

List<Map<String, Object>> bizList = null;


/** Business Logic */

//예외처리

if(isEmpty(jsonArrString)){

return null;

}

// Jackson Mapper 선언

   mapper = new ObjectMapper();


//JSONArrayString을 List로 변환

   try {

bizList = mapper.readValue(jsonArrString, List.class);

} catch (JsonParseException e) {

LOGGER.error(String.format(LogFormat.ERROR, e));

} catch (JsonMappingException e) {

LOGGER.error(String.format(LogFormat.ERROR, e));

} catch (IOException e) {

LOGGER.error(String.format(LogFormat.ERROR, e));

}


/** Return Logic*/

return bizList;

}

블로그 이미지

왕왕왕왕

,

@RequestMapping(value="/find/host.do")

//최초 호출 메소드

public String hostMethod(HttpServletRequest request, Model model){


subDirList(경로); 

   

return "find.host";

}


// 최초경로에 있는 디렉토리에 있는 파일을 읽어 해당 각 파일별 문자열중복이 있는지 체크

public void subDirList(String source){

File dir = new File(source); 

File[] fileList = dir.listFiles(); 

try{

for(int i = 0 ; i < fileList.length ; i++){

File file = fileList[i]; 

if(file.isFile()){

    // 파일이 있다면 파일 이름 출력

System.out.println("\t 파일 이름 = " + file.getName()+" /t 파일 전체경로 = "+file.getPath());

overlapChk("id=",file.getPath()," /t 파일 전체경로 = "+file.getPath(),"디렉토리 이름 = " + file.getName());

}else if(file.isDirectory()){

System.out.println("디렉토리 이름 = " + file.getName());

    // 서브디렉토리가 존재하면 재귀적 방법으로 다시 탐색

subDirList(file.getCanonicalPath().toString()); 

}

}

}catch(IOException e){

}

}


페이지별 아이디 중복체크(정규식으로 아이디 말고도 다른거찾을수도)

public void overlapChk(String ovStr,String fileNm,String allPath, String directNm){

System.out.println("오버랩 시작  ");

        String[] search = new String[2];

        TreeSet<String> overlapList = new TreeSet<String>();

        

        search[0] = ovStr;                          // 'GV_' 단어를 가지고 있는 모든 열을 검색한다.

        search[1] =fileNm;        // 검색할 *.txt 파일의 파일명(확장자까지 같이 적어줘야 한다.)


        // (?i) <- "찾을 문자열"에 대소문자 구분을 없애고

        // .*   <- 문자열이 행의 어디에 있든지 찾을 수 있게

        String findStr = "(?i).*" + search[0] + ".*";

        // int lineNumber = 1;    // 행 번호


        try {

            

            BufferedReader buffer = new BufferedReader(new FileReader(search[1]));

            String low = null;

            String regexStr =".*(id=\")[a-zA-Z_-]+(\").*";

            

        List<String> overlist = new ArrayList<String>();

            while ((low = buffer.readLine()) != null) {

             File f = new File("C:\\Users\\king\\Desktop\\regext.txt");

             FileWriter fw =new FileWriter(f,true);

//             System.out.println("readline "+low +"   매칭결과" + low.matches(regexStr));              

            if(low.matches(regexStr)){

            Pattern pt = Pattern.compile(" (id)=\"[a-zA-Z-_]+\"");

            Matcher mt = pt.matcher(low);

            while(mt.find()){

            if(!overlist.contains(mt.group())){

            if(mt.group().replace(" ","").equals("id=\"whspg\""))

            System.out.println("중복안됨 "+ mt.group()+ " " +overlist.contains(mt.group())+ " "+overlist.toString());

            fw.write("중복안됨 "+ mt.group()+ " "+allPath+" "+directNm+"\n");

            overlist.add(mt.group());

            }else{

            System.out.println("아이디 중복 "+ mt.group());

            fw.write("아이디 중복  "+ mt.group()+ " "+allPath+" "+directNm +"\n");

           

            }

}

            }

        fw.write("\n");

            fw.flush();

            fw.close();

          } 

          

        } catch (IOException e) {

            System.err.println(e); // 에러가 있다면 메시지 출력

            System.exit(1);

        } catch (PatternSyntaxException e) { // 정규식에 에러가 있다면

            System.err.println(e);

            System.exit(1);

        }

}

'JAVA > 자바' 카테고리의 다른 글

JAVA poi 엑셀 파일쓰기  (0) 2019.01.06
자바 JSON스트링 리스트로 변환  (0) 2016.12.08
자바 웹 다운로드  (0) 2016.10.20
자바 bufferedimage to byte[] convert  (0) 2016.10.19
자바 현재날짜뽑기  (0) 2016.10.14
블로그 이미지

왕왕왕왕

,

자바 웹 다운로드

JAVA/자바 2016. 10. 20. 11:36

public void chartRiskStatusDownload(HttpServletRequest request , HttpServletResponse response) throws IOException, AWTException{

Map<String, Object> rtnMap = new HashMap<String, Object>();

String filename = request.getParameter("filename");

String path = request.getParameter("path");

/** HTTP 헤더 셋팅 */

// response.reset();

 

// IE 체크

response.setContentType("application/octet-stream;charset=utf-8");

response.setCharacterEncoding("UTF-8");

response.setHeader("Content-Disposition", "attachment;filename=" + filename);

response.setHeader("Content-Transfer-Encoding", "binary;");

 

/** 파일 다운로드 */

LOGGER.info(String.format(LogFormat.DEBUG,"filename "+filename+" filepath "+path));

    Robot robot = new Robot();

    

        //모니터 화면 크기 가지고 오는 객체

        Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

 

        //모니터의 화면을 selectRect에 가로,세로 표현

        Rectangle selectRect = new Rectangle((int)screen.getWidth(), (int)screen.getHeight());

        

        //스크린샷된 데이터를 bufferedimage에 담음

        BufferedImage buffimg = robot.createScreenCapture(selectRect);

 

        

        //bufferedimage to inputstream convert

        ByteArrayOutputStream baos = new ByteArrayOutputStream();

        ImageIO.write(buffimg, "png", baos);

        InputStream is = new ByteArrayInputStream(baos.toByteArray());

        

        //output을 위해 bufferedimage를 byte데이터로 바꿈

        byte[] imageBytes = baos.toByteArray();

        

int read = 0;

BufferedInputStream fin =

new BufferedInputStream(is);

BufferedOutputStream outs =

new BufferedOutputStream(response.getOutputStream());

// 파일 읽어서 브라우저로 출력하기

try {

       while((read=fin.read(imageBytes)) != -1){

        LOGGER.info(String.format(LogFormat.DEBUG,"fileread "+read));

         outs.write(imageBytes, 0, read);

       }

} catch (Exception e) {

e.printStackTrace();

} finally{

if (outs != null) {outs.close();}

       if (fin != null) {fin.close();}

  }

}

}

블로그 이미지

왕왕왕왕

,
byte[] imageBytes = ((DataBufferByte) bufferedImage.getData().getDataBuffer()).getData();


블로그 이미지

왕왕왕왕

,

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMM");

Calendar cal = Calendar.getInstance();

cal.add(cal.MONTH, -1);

//기준일자 기본값 설정

model.addAttribute("searchInfo",dateFormat.format(cal.getTime()).substring(0, 6));

'JAVA > 자바' 카테고리의 다른 글

자바 웹 다운로드  (0) 2016.10.20
자바 bufferedimage to byte[] convert  (0) 2016.10.19
자바 맵 포문으로 꺼내기  (0) 2016.09.05
자바 데이터 - 스트링 변환  (0) 2016.04.26
자바 자바 jsp 호출(was) - jsp소스  (0) 2016.02.26
블로그 이미지

왕왕왕왕

,

for (Map<String, Object> map : bizList) {

Iterator<String> keys = map.keySet().iterator();

while ( keys.hasNext() ) {

   String key = keys.next();

   bizMapDynamic.put(key,key);

}   

}

블로그 이미지

왕왕왕왕

,
public class Test {

	public class Test {

	public static void main(String[] args) throws ParseException {
		
		SimpleDateFormat SDformat = new SimpleDateFormat("yyyy-MM-dd"); //표시 형식
		String now ="2014-11-19";				        //시스템의 현재 날짜 저장
		
		Date transdate = SDformat.parse(now);				  //날짜 타입으로 변환
		System.out.println("\t 날짜 형태 : "+transdate );			  //출력
		
		String transStr = SDformat.format(date); 			  //스트링 타입으로 변환
		System.out.println("\t 스트링 형태 : "+transStr);		  //출력
			
	}
}


블로그 이미지

왕왕왕왕

,