코틀린으로 작성한 안드로이드 엑셀 읽고/쓰기 대하여 알아보기
오늘은 안드로이드에서 코틀린으로 엑셀을 읽고 쓰는 방법에 대하여 알아보려 합니다.
코틀린으로 시도하는 것이여서 apache poi의 wrapper인 KExcelAPI를 써보겠습니다.
설정
repositories {
maven { url 'https://raw.githubusercontent.com/webarata3/maven/master/repository' }
}
}
dependencies {
implementation 'link.webarata3.kexcelapi:kexcelapi:0.5.1'
}
repositories와 dependencies를 채워주며 KExcelAPI 사용하기 위한 준비를 합니다.
이 KExcelAPI에는 apache poi가 포함되어 있기 때문에 따로 해줄 것은 없습니다.
excel 파일 생성
private var workbook = HSSFWorkbook()
private var sheet =workbook.createSheet()
private val file = File(getExternalFilesDir(null), "text.xls")
새로운 시트를 만들고, java.io.File을 이용하여 기록할 파일을 만들어 줍니다.
createSheet()를 중복해서 호출하면 호출한 만큼 새로운 시트가 생깁니다.
쓰기
import link.webarata3.kexcelapi.*
import org.apache.poi.hssf.usermodel.HSSFWorkbook
kexcelapi의 get과 kexcelapi의 set를 쓰기 위해 kexcelapi 패키지를 가져오고, wrapper된 org.apache.poi 패키지도 가져옵니다.
sheet[1,1] = "text"
sheet["A1"] = "text"
val os = FileOutputStream(file)
workbook.write(os)
kexcelapi의 set을 이용하여 쉽게 행과 열로 데이터를 쓸 수 있고, 이름으로도 쓸 수 있습니다.
읽기
import link.webarata3.kexcelapi.*
import org.apache.poi.hssf.usermodel.HSSFWorkbook
kexcelapi의 get과 kexcelapi의 set를 쓰기 위해 kexcelapi 패키지를 가져오고, wrapper된 org.apache.poi 패키지도 가져옵니다.
longToast(sheet[text].toStr())
코틀린 anko에서 사용할 수 있는 longToast 메소드를 사용하여 간단히 엑셀 파일에 접근해서 읽을 수 있습니다.
Written on July 16, 2018