jxl.jar 데이터베이스 조회를 로컬 Excel로 내보내기

2374 단어 Excel
				String filename = "D://datatest.xls";
				File file = new File(filename);
				if (!file.exists()) {
					try {
						file.createNewFile();
					} catch (IOException e1) {
						e1.printStackTrace();
					}
				} else {
					file.delete();
				}
				try {
					WritableWorkbook wwb = Workbook.createWorkbook(file);
					WritableSheet ws = wwb.createSheet("sheet1", 0);
					for (int i = 1; i <= count; i++) {
						try {
							Label temp = new Label(i - 1, 0, rsmd
									.getColumnName(i));
							ws.addCell(temp);
						} catch (SQLException e1) {
							e1.printStackTrace();
						} catch (RowsExceededException e1) {
							e1.printStackTrace();
						} catch (WriteException e1) {
							e1.printStackTrace();
						}
					}
					for (int i = 1; i <= v.size(); i++) {
						for (int j = 1; j <= count; j++) {
							Label temp = new Label(j - 1, i, v.get(i - 1).get(
									j - 1)
									+ "");
							ws.addCell(temp);
							// System.out.println((i+1)+"============="+j);
						}
					}
					//  
					wwb.write();
					//  Excel 
					wwb.close();
				} catch (IOException e1) {
					e1.printStackTrace();
				} catch (WriteException e1) {
					e1.printStackTrace();
				}

			

여기는 아주 멍청한 방법을 썼습니다. 처음에 참고한 다른 사람의 스팸 코드를 사용해서vector로 결과집을 저장했습니다. 나중에 정말 앞에vector를 사용했습니다. 고치기 귀찮아서 바로vector>를 사용했습니다. 이렇게 2차원 2차원 용기를 사용했습니다. 뒤에 숫자를 조정할 때 잘 보세요. 앞에 있는 순환은 다음과 같은 코드로 얻은 두 가지 데이터를 사용했습니다.조회된 결과 집합과 데이터베이스 필드 이름 포함
 
ResultSet res = stmt.executeQuery(sql);
ResultSetMetaData   rsmd = res.getMetaData();

Excel에서 내보내는 것을 직관적으로 표현하려면 두 가지 데이터를 모두 내보내야 한다.내 안에 데이터가 비교적 많기 때문에 코드 집행 효율이 그리 높지 않다.문장의 참고 가치는 바로
WritableWorkbook wwb = Workbook.createWorkbook(file);
WritableSheet ws = wwb.createSheet("sheet1", 0);

Excel 파일 대상을 가져와서 sheet1을 Excel의 페이지로 만들고 ws를 통해 sheet1에 ws를 씁니다.addCell(temp);
그리고 sheet1이 있는 wwb를 로컬에서 만든 Excel에 쓰십시오.그리고 워크북 대상을 닫으면 돼요.
 
마크를 한 번 하면 나중에 사용하기 어려울 거예요.
 

좋은 웹페이지 즐겨찾기