POI XSSFSheet shiftRows bug問(wèn)題解決
問(wèn)題
業(yè)務(wù)中需要往給定格式的excel中寫入數(shù)據(jù)。
使用shiftRows函數(shù)往excel中插入新行時(shí),xls文件沒(méi)問(wèn)題,xlsx文件問(wèn)題多多
- 執(zhí)行如下代碼,xls格式插入了3行,xlsx格式卻只插入了2行
- xlsx執(zhí)行shiftRows操作之后,合并單元格丟失
- xlsx執(zhí)行shiftRows操作之后,用excel打開(kāi)提示格式有問(wèn)題,用wps打開(kāi)正常
InputStream inp = new FileInputStream("/Users/shao/Downloads/模板.xlsx"); Workbook templateWorkbook = WorkbookFactory.create(inp); Sheet sheet = templateWorkBook.getSheetAt(0); sheet.shiftRows(5, sheet.getLastRowNum(), 1); sheet.shiftRows(5, sheet.getLastRowNum(), 1); sheet.shiftRows(5, sheet.getLastRowNum(), 1); OutputStream outputStream = new FileOutputStream("/Users/shao/Downloads/模板輸出.xlsx"); templateWorkbook.write(outputStream);
解決
poi 4.1.1版本修復(fù)了該bug,升級(jí)到最新的4.1.2,問(wèn)題解決
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency>
原因
poi bug
參考
https://stackoverflow.com/questions/55980407/apache-poi-shiftrows-corrupts-file-and-deletes-content
http://poi.apache.org/changes.html
以上就是POI XSSFSheet shiftRows bug問(wèn)題解決的詳細(xì)內(nèi)容,更多關(guān)于POI XSSFSheet shiftRows bug的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mybatis?plus新增(insert)數(shù)據(jù)獲取主鍵id的問(wèn)題
這篇文章主要介紹了mybatis?plus新增(insert)數(shù)據(jù)獲取主鍵id的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03Java中常見(jiàn)的日期操作(取值、轉(zhuǎn)換、加減、比較)
本文給大家介紹java中常見(jiàn)的日期操作,日期取值、日期轉(zhuǎn)換、日期加減、日期比較,對(duì)java日期操作相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2015-12-12Java中使用DOM4J生成xml文件并解析xml文件的操作
這篇文章主要介紹了Java中使用DOM4J來(lái)生成xml文件和解析xml文件的操作,今天通過(guò)代碼給大家展示了解析xml文件和生成xml文件的方法,需要的朋友可以參考下2021-09-09Java實(shí)現(xiàn)代碼塊耗時(shí)測(cè)算工具類
這篇文章主要為大家介紹了如何利用Java語(yǔ)言編寫一個(gè)工具類,用來(lái)測(cè)算代碼塊的耗時(shí),同時(shí)還能顯示進(jìn)度,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05