안녕하세요 이번에는 엑셀파일을 안드로이드에 넣고, 읽는 방법에 대해 알려드리겠습니다.
1. 디렉토리 설정을 project로 변경합니다(핑크색으로 표시한 부분 참고)
2.app->src->main 폴데어 assests 폴더 생성후 assets 폴더에 xls 파일 넣습니다.
3. 엑셀파일을 읽기 위해 라이브러리를 등록합니다.
implementation 'net.sourceforge.jexcelapi:jxl:2.6.12'
MainActivity에 다음과 같이 코드를 작성합니다.
package com.example.stickodetest;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import java.io.IOException;
import java.io.InputStream;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
readExcel();
}
public void readExcel(){//파일 읽기 함수
try {
InputStream is = getBaseContext().getResources().getAssets().open("test.xls");
//엑셀파일
Workbook wb = Workbook.getWorkbook(is);
//엑셀 파일이 있다면
if(wb != null){
Sheet sheet = wb.getSheet(0);//시트 블러오기
if(sheet != null){
int colTotal = sheet.getColumns(); //전체 컬럼
int rowIndexStart = 1; //row 인덱스 시작
int rowTotal = sheet.getColumn(colTotal-1).length;
StringBuilder sb;
for(int row = rowIndexStart; row < rowTotal; row++){
sb = new StringBuilder();
//col: 컬럼순서, contents: 데이터값
for(int col = 0; col < colTotal; col++){
String contents = sheet.getCell(col, row).getContents();
if(row > 0){
Log.d("Main", col + "번째: " + contents);
}
}
}
}
}
} catch (IOException | BiffException e) {
e.printStackTrace();
}
}
}
위와 같은 단계를 거친 후 실행된 결과는 다음과 같습니다.
패키지 com.example.stickodetest;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import java.io.IOException;
import java.io.InputStream;
jxl.Sheet 가져오기;
import jxl.Workbook;
import jxl.read.biff.BiffException;
공개 클래스 MainActivity는 AppCompatActivity {를 확장합니다.
@우세하다
보호된 무효 onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
읽기엑셀();
}
public void readExcel(){//파일 읽기
노력하다 {
InputStream is = getBaseContext().getResources().getAssets().open("test.xls");
//엑셀파일
통합 문서 wb = Workbook.getWorkbook(is);
//엑셀 파일이 있다면
if(wb != null){
Sheet sheet = wb.getSheet(0);//시트 블러 가져오기
if(시트 != null){
int colTotal = sheet.getColumns(); //전체적인
int rowIndexStart = 1; //행 절차 시작
int rowTotal = sheet.getColumn(colTotal-1).length;
StringBuilder sb;
for(int 행 = rowIndexStart; 행 < rowTotal; 행++){
sb = 새 StringBuilder();
//col: 빼순서, contents:값 데이터
for(int col = 0; col < colTotal; col++){
문자열 내용 = sheet.getCell(col, row).getContents();
if(행 > 0){
Log.d("메인", col + "번째: " + 내용);
}
}
}
}
}
} catch (IOException | BiffException e) {
e.printStackTrace();
}
}
}
'안드로이드 자바' 카테고리의 다른 글
[Android][Java] 아두이노 블루투스 모듈과 통신하는법 (0) | 2023.07.31 |
---|---|
[Android][Java] 리사이클러뷰 최하단 이동 (0) | 2023.07.23 |
[Android][JAVA]Shimmer 사용한 스켈레톤 UI 로딩화면 구현 (0) | 2023.07.18 |
[Java] awt 테트리스 모듈화 - Figure (0) | 2023.07.17 |
[Android][Java] Joda-Time 활용해서 현재 시간 알아내기 (0) | 2023.07.08 |