엑셀파일을 안드로이드 자체에 넣고, 직접 읽어드리고 싶을 때 어떻게 해야 할까요
1. 디렉토리 설정을 android -> project로 변경
2. app -> src -> main 폴더에 assets폴더생성 후 -> assets폴더에 xls 파일을 넣는다.
3. 엑셀파일을 읽기 위해서 필요한 라이브러리를 등록한다.
Gradle Scripts폴더 -> build.gradle(Module:app)
implementation 'net.sourceforge.jexcelapi:jxl:2.6.12'
4. 등록한 라이브러리의 동기화를 해준다. (빨갛게 동그라미 친 버튼을 클릭)
5.이제 등록한 엑셀파일을 읽어봅시다.
예제로 넣은 파일의 이름은 user.xls
이름, 나이, 주소로 이루어진 간단한 파일입니다.
6. 엑셀파일 읽는 메소드 만들기
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
readExcel();
}//onCreate
public void readExcel(){
//파일 읽기
try {
InputStream is = getBaseContext().getResources().getAssets().open("user.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();
// Log.d("Main", "row: " + row + "col: " + col +"contents" + contents);
if(row > 0){
Log.d("Main", col + "번째: " + contents);
}
} //내부 For
}//바깥 for
}//if(sheet체크)
}//if(wb체크)
} catch (IOException | BiffException e) {
e.printStackTrace();
}
}
}//MainActivity
7. 실행 후 화면(로그로 출력했습니다.)
이중 for문으로 돌려서 한줄씩 출력을 해줍니다.
2022.03.02 - [안드로이드] - [안드로이드] SQLite RecyclerView 연락처 만드는 방법 part1 - 조회
[안드로이드] 스피너(spinner) 드롭다운 사용방법 (2) | 2020.04.18 |
---|---|
[안드로이드] 드로어블 이미지 클릭 상태 변경 (0) | 2020.04.17 |
[안드로이드] 텍스트뷰 공통문자 등록 및 사용(strings.xml) (0) | 2020.04.16 |
[안드로이드] 화면(액티비티) Activity 세로모드 가로모드 고정(오류 조치방법) (0) | 2020.04.15 |
[안드로이드] 텍스트뷰 외곽선(테두리) 설정 및 사용 (2) | 2020.04.15 |
댓글 영역