excel 파일 내용을 읽고 데이터베이스에 쓰기
                                            
 11078 단어  Excel
                    
excel 파일의 내용을 읽고 문자열을 연결하여oracle 데이터베이스 임시 테이블에 데이터를 삽입한 다음 임시 테이블의 데이터를 조작합니다
package com.cici.testExcel;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
 
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
/**
 * @param sourcefile
 * @return
 */
public class ReadExcel {
    public static void main(String[] args) { 
     
        /* System.out.println("Please insert the pageNO :");
            int pageNo = SystemIn.readInt();
            System.out.println("Please insert the lineMount :");
            int lineMount = SystemIn.readInt();
            System.out.println("Please insert the listMount :");
            int listMount = SystemIn.readInt();*/
            //List list = readExcel("E:\\F\\UtilJars\\TABLE NAMES.xlsx","AR_STATISTIC_EMPTYPE", 4, 7, 4);
            List list = readExcel("E:\\F\\UtilJars\\TABLE NAMES.xlsx","TEST", 5, 52, 2);
            for (int i = 0; i < list.size(); ++i)
              System.out.println(list.get(i));
    }
    /**
     * ReadData from Excel txt form
     * 
     * @param sourcefile the source file path
     * @param sheetPageNo the sheet no of target content 
     * @param lineNo the line no of target content 
     * @param listNo the list no of target content
     * @return
     */
    
    public static List<StringBuffer> readExcel(String sourcefile,String tableName,int pageNo,int lineMount,int listMount ) {
         XSSFWorkbook xwb = null;
            try {
              xwb = new XSSFWorkbook(new FileInputStream(sourcefile));
            } catch (IOException e) {
              e.printStackTrace();
            }
            List lists = new ArrayList();
            for (int i = 0; i < lineMount; ++i) {
              XSSFSheet xSheet = xwb.getSheetAt(pageNo);
              XSSFRow row = xSheet.getRow(i);
              StringBuffer s1 = new StringBuffer("INSERT INTO "+tableName+"  VALUES(  '");
              for (int j = 0; j < listMount; ++j)
              {
                row.getCell(j).setCellType(1);
                String msgj = row.getCell(j).getStringCellValue();
                if ((msgj != null)  && (j != listMount - 1))
                  s1 = s1.append(msgj.trim() + "','");
                else
                  s1 = s1.append(msgj.trim() + "');");
              }
              lists.add(s1);
            }
            return lists;
    }
 
}  다음 문자열 결합 (insert 문장)
INSERT INTO TEST VALUES(  'CPNY_ID','EMPID');
INSERT INTO TEST VALUES(  'PERSON_ID','CHINESE_PINYIN');
INSERT INTO TEST VALUES(  'EMPID','ENGLISH_NAME');
INSERT INTO TEST VALUES(  'LOCAL_NAME','KOREAN_NAME');
INSERT INTO TEST VALUES(  'CHINESE_PINYIN','POSITION_NO');
INSERT INTO TEST VALUES(  'ENGLISH_NAME','DUTY_NO');
INSERT INTO TEST VALUES(  'KOREAN_NAME','POST_NO');
INSERT INTO TEST VALUES(  'STEP_CHANGE_DATE','POST_GRADE_NO');
INSERT INTO TEST VALUES(  'EMP_OFFICE','PAY_STEP');
INSERT INTO TEST VALUES(  'OLD_PERSON_ID','STATUS_CODE');  데이터베이스 로그인
두 필드의 차집합 1 비교(필드 A에 데이터가 있지만 필드 B에 없는 데이터)
SELECT A FROM TEST MINUSSELECT B FROM TEST;
결과 표시
1 AGENT_POST_GRADE_ID2 DUTY_ID3 OLD_POST_GRADE_ID4 POSITION_ID5 POST_GRADE_ID6 POST_ID7
두 필드의 차집합 2 비교(필드 B에 데이터가 있지만 필드 A에 없는 데이터)
SELECT B FROM TEST MINUSSELECT A FROM TEST ;
결과 표시
1 ACTIVITY2 AGENT_POST_GRADE_NO3 CREATED_BY4 CREATE_DATE5 DUTY_NO6 JOIN_BLOC_DATE7 OLD_POST_GRADE_NO8 ORDERNO9 POSITION_NO10 POST_GRADE_NO11 POST_NO12 SETTLEMENT_DATE13 STAT_NO14 UPDATED_BY15 UPDATE_DATE
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Excel Grep toolExcel Grep tool ■히나가타 ■ 시트 구성 ExcelGrep.cls...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.