実現したいこと
端末のダウンロードフォルダに入っているExcelのテンプレートに、値をセットして端末内に別名ファイルとして保存する処理を書いています。
このエクセルテンプレートファイルをApache POIで扱えるようにxls形式で保存しているのですが、後にこのファイルをxlsx形式に変換して、メール送信したいと考えています。
以下のようなコードでExcelファイルを編集・保存しています。
Kotlin
1 2val file = Paths.DOWNLOAD_FILE + "/templete.xls" 3 4var workbook: Workbook? = null 5try { 6 workbook = WorkbookFactory.create(FileInputStream(file)) 7}catch (e: IOException){ 8 e.printStackTrace() 9} 10 11val sheet = workbook?.getSheet("sheet1") 12sheet?.getRow(0)?.getCell(5)?.setCellValue("2020") 13 14val newFile = filesDir.path + "/dataFile.xls" 15workbook?.write(FileOutputStream(newFile)) 16 17workbook?.close() 18
これを後にメールに添付して送信する予定です。
ファイル保存するときに、**val newFile = filesDir.path + "/dataFile.xls"**のところを、**val newFile = filesDir.path + "/dataFile.xlsx"**という感じに拡張子を変えて保存しようとしてみたものの、上手くはいきませんでした。
Apache POIでxlsからxlsxへの保存は可能でしょうか。
どなたか知識をご教示して頂けると幸いです。
あなたの回答
tips
プレビュー