안드로이드스튜디오

[Kotlin] 안드로이드 데이터 엑셀화하기(.csv)

eunda_coding 2023. 2. 8. 15:50

안드로이드 내에 발생한 데이터를 저장하는 여러 방법 중 파일로 저장하는 작업이다.

apache를 이용해서 라이브러리 사용해서 데이터를 저장하려고 했으나 예전 버전은 엑셀 2007을 사용해서 한 열에 256개 밖에 데이터를 저장하지 못해서 .csv로 저장하기로 변경했다.

 

1. CSV란

CSV(영어: comma-separated values)는 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일이다.

.csv파일은 콤마(,)로 데이터를 분류하면 알아서 자동으로 엑셀 파일에 값을 넣어주는 방식이다.

(진작 이렇게 할걸,,,)

 

2. 파일 저장 경로 및 파일 이름

val dir = "/storage/emulated/0/Documents"
val file_name = date + "_" + name + ".csv"

val file = File("$dir/$file_name")
if(!file.exists()){file.createNewFile()}

val output = FileOutputStream(file.absolutePath, false)
val writer = OutputStreamWriter(output, "UTF-8")
val buffer = BufferedWriter(writer)

파일을 저장할 경로와 확장자명 등을 정해서 buffer로 만들면 끗!!

buffer.write("NAME," + name)
buffer.newLine()

이런식으로 buffer.write()안에 콤마로 값을 분류해서 넣으면 알아서 분류해서 셀에 넣어준다.

NAME name

buffer.newLine()은 개행문자로 줄바꿈이다.

apache를 이용해서 저장하는 것보다 훨~~씬 간단하구만.