Java 작업 Excel 파일
1. Excel 파일 에 데 이 터 를 기록 합 니 다.
Excel 파일 에 쓸 데 이 터 를 List < String > lst 로 저장 합 니 다.
엑셀 에서 데 이 터 를 읽 습 니 다.
Excel 파일 에서 데 이 터 를 직접 읽 고 문자열 로 데 이 터 를 되 돌려 줍 니 다.
/**
* Excel
*
* @param fileName Excel
* @throws WriteException
* @throws RowsExceededException
*/
public static void writeExcel(String fileName , List<String> lst){
WritableWorkbook wwb = null;
try {
// Workbook (Workbook)
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
e.printStackTrace();
}
if (wwb != null) {
//
// Workbook createSheet , ,
WritableSheet ws = wwb.createSheet(" ", 0);
Label label1 = new Label(0,0," ");
Label label2 = new Label(1,0," (G)");
Label label3 = new Label(2,0," ");
//
try {
ws.addCell(label1);
ws.addCell(label2);
ws.addCell(label3);
} catch (RowsExceededException e1) {
e1.printStackTrace();
} catch (WriteException e1) {
e1.printStackTrace();
}
//
for (int i = 0; i < lst.size(); i++) {
String s[] = lst.get(i).split(",");
for (int j = 0; j < s.length; j++) {
// , Excel , ,
Label labelC = new Label(j, i+1, s[j]);
try {
//
ws.addCell(labelC);
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
try {
//
wwb.write();
// ,
wwb.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
3. 특정한 엑셀 파일 에서 특정한 키 워드 를 포함 하 는 지 찾 습 니 다.
4. 567913. 아래 두 가지 조작 은 프로젝트 에 사용 되 지 않 았 다.여기 도 잠시 남 겨 두 세 요.
넷,
그림 아이콘 을 Excel 에 삽입 하기
그림 삽입 이 쉽 습 니 다. 다음 코드 를 참조 하 십시오.
/** Excel
* @param file
* @return
*/
public static String readExcel(String inPath){
StringBuffer sb = new StringBuffer();
File file = new File(inPath);
Workbook wb = null;
try {
// Workbook( )
wb=Workbook.getWorkbook(file);
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(wb==null)
return null;
// Workbook , Sheet( )
Sheet[] sheet = wb.getSheets();
if(sheet!=null&&sheet.length>0){
//
for(int i=0;i < sheet.length; ++i){
//
int rowNum = sheet[i].getRows();
for(int j=0;j < rowNum; ++j){
//
Cell[] cells = sheet[i].getRow(j);
if(cells!=null&&cells.length>0){
//
for(int k=0;k < cells.length; ++k){
//
String cellValue = cells[k].getContents();
sb.append(cellValue+"\t");
}
}
sb.append("\r
");
}
sb.append("\r
");
}
}
// ,
wb.close();
return sb.toString();
}
상기 코드 의 주석 은 이미 명확 합 니 다. 아마도 더 이상 설명 할 필요 가 없 을 것 입 니 다. 우 리 는 다음 과 같은 프로그램 으로 검증 할 수 있 습 니 다.
/**
*
* @param file
* @param keyWord
* @return
*/
public static boolean searchKeyWord(File file, String keyWord) {
boolean res = false;
Workbook wb = null;
try {
// Workbook( )
wb = Workbook.getWorkbook(file);
} catch (BiffException e) {
return res;
} catch (IOException e) {
return res;
}
if (wb == null)
return res;
// Workbook , Sheet( )
Sheet[] sheet = wb.getSheets();
boolean breakSheet = false;
if (sheet != null && sheet.length > 0) {
//
for (int i = 0; i < sheet.length; ++i) {
if (breakSheet)
break;
//
int rowNum = sheet[i].getRows();
boolean breakRow = false;
for (int j = 0; j < rowNum; ++j) {
if (breakRow)
break;
//
Cell[] cells = sheet[i].getRow(j);
if (cells != null && cells.length > 0) {
boolean breakCell = false;
//
for (int k = 0; k < cells.length; ++k) {
if (breakCell)
break;
//
String cellValue = cells[k].getContents();
if (cellValue == null)
continue;
if (cellValue.contains(keyWord)) {
res = true;
breakCell = true;
breakRow = true;
breakSheet = true;
}
}
}
}
}
}
// ,
wb.close();
return res;
}
그러나 jxl 은 png 형식의 그림 만 지원 하고 jpg 형식 과 gif 형식 은 지원 되 지 않 습 니 다.
5. 머 릿 말 꼬 릿 말 을 삽입 하 는 일반적인 머 릿 말 꼬 릿 말 은 모두 세 부분 으로 나 뉘 는데 왼쪽, 가운데, 오른쪽 세 부분 은 다음 과 같은 코드 를 이용 하여 머 릿 말 꼬 릿 말 을 삽입 할 수 있 습 니 다.
/**
* Excel
*
* @param dataSheet
*
* @param col
*
* @param row
*
* @param width
*
* @param height
*
* @param imgFile
*
*/
public static void insertImg(WritableSheet dataSheet, int col, int row,
int width, int height, File imgFile) {
WritableImage img = new WritableImage(col, row, width, height, imgFile);
dataSheet.addImage(img);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.