달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

시트 하나당 10만라인 그리는고 저장하는데 약 10초 나옴~


아래껀 원본....

BigGridDemo.java


이건 멀티 시트 추가할수 있게 카피하여 부분 수정함

BigGridMultiDemo.java



혹시나 해서 JAR 라이브러리 파일들이 필요할까 하여


프로젝트로 하나 만들어 파일들 다 넣어둠 0-0


Excel_Big.zip



방식은 poi 는 구조만 만들고 실제 데이터는


xml 파일로 텍스트 형식으로떨군후 합치기


정말 빠름빠름~

'Dev Language > JAVA' 카테고리의 다른 글

자바에서 ltrim과 rtrim 구현하기(1줄로 간단하게)  (0) 2020.04.09
JAVA Client IP 얻기  (0) 2019.09.17
JAVA 바코드 생성  (0) 2018.11.16
JAVA AES128 암호화 복호화 소스  (0) 2018.10.11
숫자형식 포멧 방법  (0) 2017.07.13
Posted by 타카스 류지
|


안녕하세요.


일하면서 바코드 관련 개발을 하게 되어 다음에도 쓸수 있게 정리하여 올립니다.


다만 정리는 제 기준으로 케이스별 로 만들었기 때문에


필요하신건 파일안에 주석이 있으니 수정하여 활용하시면 될것 같습니다.



Barbecue 오픈 API

http://barbecue.sourceforge.net



barbecue-1.5-beta1.zip




1. 바코드 지원 Format


Code128, Code128A, Code128B, Code128C, UCC128, EAN128, EAN13, Bookland, UPC-A, Standard 2 of 5, Interleave 2 of 5, PDF417, Code 39, Codabar, PostNet


2. 바코드 저장 Format


PNG, JPEG, GIF, SVG, and EPS




※  일반 적 파일로 저장


▶ 바코드 파일 생성 - barcode.saveBarcodeImage(텍스트, 경로);


barcode.saveBarcodeImage("10000000", "c:/");




▶ 바코드 파일 생성(배경 투명 처리) - barcode.saveBarcodeImage(텍스트 , 경로, 투명 유무);


barcode.saveBarcodeImage("20000000", "c:/", true);




▶ 바코드 파일 생성(확장자 지정 png, jpeg , gif) - barcode.saveBarcodeImage(텍스트, 경로, 확장자);


barcode.saveBarcodeImage("30000000", "c:/", "png");




▶ 바코드 파일 생성(사이즈 변경) - barcode.saveBarcodeImage(텍스트, 경로, 바코드넓이, 바코드높이);


barcode.saveBarcodeImage("40000000", "c:/", 1,30);






※ base64 이미지로 활용하여 파일로 저장하여 사용하지 않고 사로 HTML 코드로 활용



▶바코드 BASE64 텍스트 생성 - barcode.getBarcodeBase64(텍스트);


barcode.getBarcodeBase64("1234567890");


 



▶ 바코드 BASE64 텍스트 생성(배경 투명 처리) - barcode.getBarcodeBase64(텍스트, 투명 유무);

barcode.getBarcodeBase64("1234567890", true);

 



▶ 바코드 BASE64 텍스트 생성(사이즈 변경) - barcode.getBarcodeBase64(텍스트, 바코드넓이, 바코드높이);

barcode.getBarcodeBase64("1234567890", 2, 60);




▶ 바코드 BASE64 텍스트 생성(배경 투명 처리, 사이즈 변경) - barcode.getBarcodeBase64(텍스트, 투명 유무, 바코드넓이, 바코드높이);

barcode.getBarcodeBase64("1234567890", true, 3, 70);




아래 파일은 사용할려고 예제로 따로 만들어준 파일


이클립스에서 경로 맞춰서 지정해주시고

~ Main.java  파일에서 실행하시면 됩니다.


Barcode39Image.java

Barcode128Image.java

BarcodeCreateMain.java





'Dev Language > JAVA' 카테고리의 다른 글

JAVA Client IP 얻기  (0) 2019.09.17
자바 엑셀 내리기 BigGrid 10만 라인 약 2초  (0) 2018.11.26
JAVA AES128 암호화 복호화 소스  (0) 2018.10.11
숫자형식 포멧 방법  (0) 2017.07.13
AES, SHA 암호화 1, JAVA  (0) 2017.03.30
Posted by 타카스 류지
|

 

 

 

 

 

ExcelRead.zip

 

 

// *.xls 파일 가능( - xlsx파일 불가)
HSSFWorkbook workBook  = new HSSFWorkbook(new FileInputStream(new File(filePath)));
HSSFSheet sheet = null;
HSSFRow row  = null;
HSSFCell cell   null;

 

// *.xlsx 파일 가능( - xls파일 불가)
XSSFWorkbook workBook   = new XSSFWorkbook(file);
XSSFSheet sheet = null;
XSSFRow row  = null;
XSSFCell cell = null;

 

// *.xls, *.xlsx 파일 가능
Workbook workBook = WorkbookFactory.create(file);
Sheet sheet = null;
Row   row  = null;
Cell  cell  = null;

 

 


[출처] [Java] POI를 이용한 (*.xls, *.xlsx) 읽기|작성자 마이레몬트리

http://tychejin.blog.me/110182191752

 

Posted by 타카스 류지
|

 /**
  * xlsx 파일(XSSFWorkbook)을 xls 파일(HSSFWorkbook)로 변환하는 메서드.
  * [참조] http://stackoverflow.com/questions/20049922/java-poi-api-convert-from-xlsx-to-xls 
  *
  * @param xssfWorkbook
  * @return
  * @throws Exception
  */
 public static HSSFWorkbook convertXlsxToXls(String filePath) throws Exception {
  
  FileInputStream fis = new FileInputStream(new File(filePath)); 
  XSSFWorkbook xssfWorkbook = new XSSFWorkbook(fis);

     HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
     int sheetCnt = xssfWorkbook.getNumberOfSheets();
     for (int i = 0; i < sheetCnt; i++) {
      Sheet sIn = xssfWorkbook.getSheetAt(i);
      Sheet sIn = xssfWorkbook.getSheetAt(0);
         Sheet sOut = hssfWorkbook.createSheet(sIn.getSheetName());
         Iterator rowIt = sIn.rowIterator();
         while (rowIt.hasNext()) {
             Row rowIn = (Row) rowIt.next();
             Row rowOut = sOut.createRow(rowIn.getRowNum());
 
             Iterator cellIt = rowIn.cellIterator();
             while (cellIt.hasNext()) {
                 Cell cellIn = (Cell) cellIt.next();
                 Cell cellOut = rowOut.createCell(cellIn.getColumnIndex(), cellIn.getCellType());
                 switch (cellIn.getCellType()) {
                 case Cell.CELL_TYPE_BLANK: break;
                 case Cell.CELL_TYPE_BOOLEAN:
                     cellOut.setCellValue(cellIn.getBooleanCellValue());
                     break;
                 case Cell.CELL_TYPE_ERROR:
                     cellOut.setCellValue(cellIn.getErrorCellValue());
                     break;
                 case Cell.CELL_TYPE_FORMULA:
                     cellOut.setCellFormula(cellIn.getCellFormula());
                     break;
                 case Cell.CELL_TYPE_NUMERIC:
                     cellOut.setCellValue(cellIn.getNumericCellValue());
                     break;
                 case Cell.CELL_TYPE_STRING:
                     cellOut.setCellValue(cellIn.getStringCellValue());
                     break;
                 }
                 CellStyle styleIn = cellIn.getCellStyle();
                 CellStyle styleOut = cellOut.getCellStyle();
                 styleOut.setDataFormat(styleIn.getDataFormat());
                 cellOut.setCellComment(cellIn.getCellComment());
             }
         }
        }
    
     return hssfWorkbook;
 }

Posted by 타카스 류지
|