Spring Boot實現將Word中的表格轉換成Excel表格?

2024年04月11日21:15:55 科技 1337

Spring Boot實現將Word中的表格轉換成Excel表格? - 天天要聞

你可以使用Apache POI庫來處理Word和Excel文件。在Spring Boot應用中,你可以使用POI來讀取Word中的表格內容,然後創建一個新的Excel文件並將表格內容寫入其中。

引入依賴

首先,你需要在你的Spring Boot項目中添加Apache POI的依賴。在你的pom.xml文件中添加以下依賴

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.1</version>
</dependency>

創建轉換服務

接下來,創建一個Spring Boot的服務類來實現Word轉Excel的功能:

@Service
public class WordToExcelService {

    public void convertWordToExcel(String wordFilePath, String excelFilePath) throws IOException, InvalidFormatException {
        FileInputStream fis = new FileInputStream(wordFilePath);
        XWPFDocument document = new XWPFDocument(fis);

        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        int rowNum = 0;

        for (XWPFTable table : document.getTables()) {
            for (int i = 0; i < table.getRows().size(); i++) {
                Row row = sheet.createRow(rowNum++);
                for (int j = 0; j < table.getRow(i).getTableCells().size(); j++) {
                    String cellValue = table.getRow(i).getCell(j).getText();
                    Cell cell = row.createCell(j);
                    cell.setCellValue(cellValue);
                }
            }
        }

        FileOutputStream fos = new FileOutputStream(excelFilePath);
        workbook.write(fos);

        fis.close();
        fos.close();
        workbook.close();
        document.close();
    }
}

編寫Controller類

然後,創建一個Controller類來接收請求,並調用WordToExcelService來執行Word轉Excel的操作。

@RestController
public class WordToExcelController {

    @Autowired
    private WordToExcelService wordToExcelService;

    @PostMapping("/convert")
    public ResponseEntity<String> convertWordToExcel(@RequestParam("wordFilePath") String wordFilePath,
                                                     @RequestParam("excelFilePath") String excelFilePath) {
        try {
            wordToExcelService.convertWordToExcel(wordFilePath, excelFilePath);
            return ResponseEntity.ok("Word轉Excel轉換成功!");
        } catch (IOException | InvalidFormatException e) {
            e.printStackTrace();
            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("轉換失敗:" + e.getMessage());
        }
    }
}

總結

到這裡,啟動項目,發送一個POST請求到/convert路徑,同時提供Word文件的路徑wordFilePath和Excel文件的路徑excelFilePath時,它將會執行Word轉Excel的操作。可以在Spring Boot應用中調用這個介面來實現你的需求。當然在實際使用的場景中,需要注意適當處理異常情況,比如文件路徑錯誤、文件不存在等。來保證你的程序的健壯性。

科技分類資訊推薦

影像、功耗等再獲優化和修復,榮耀Magic6系列再迎1.4G大容量更新 - 天天要聞

影像、功耗等再獲優化和修復,榮耀Magic6系列再迎1.4G大容量更新

眾所周知,作為 @榮耀手機 旗下主打影像體驗的旗艦機型,目前市售的Magic6系列在青海湖電池等技術的加持下,不但影像表現出眾,而且在綜合表現上也是同檔機型中的佼佼者。日前,該系列旗艦機型再次收到官方最新的MagicOS 8.0.150更新包,根據更新說明顯示,此次更新包再次對影像進行了優化,提升了續航體驗,並且進一步增進...
CertiK:向Kraken報告安全漏洞後員工卻遭到其安全運營團隊的威脅 - 天天要聞

CertiK:向Kraken報告安全漏洞後員工卻遭到其安全運營團隊的威脅

PANews 6月19日消息,區塊鏈安全機構 CertiK 宣布在 Kraken 交易所發現了一系列嚴重漏洞,這些漏洞可能導致數億美元的潛在損失。CertiK 的調查顯示,Kraken 的存款系統無法有效區分不同的內部轉賬狀態,存在惡意行為者偽造存款交易並提取偽造資金的風險。在測試期間,數百萬美元的虛假資金可以被存入 Kraken 賬戶,並提取超...
雷克沙發布首款三防高速移動固態硬碟ARMOR 700 - 天天要聞

雷克沙發布首款三防高速移動固態硬碟ARMOR 700

在智能手機等設備的支持下,拍照和攝影變得無處不在。尤其是在近年短視頻應用爆火以後,如何快速存儲海量的數據就成為了拍攝者關注的焦點,這也是固態硬碟在過去爆火的原因之一。隨著照片和視頻解析度越來越高,存儲空間就愈發成為愛好者乃至一般消費者的迫切需求。而且,因為使用場景的複雜性,對移動硬碟的可靠性要求又上...
低價版Vision Pro要來了 價格和高端iPhone差不多 - 天天要聞

低價版Vision Pro要來了 價格和高端iPhone差不多

目前Vision Pro存在兩個問題,一個是過重,長時間佩戴並不舒服,另一個是售價,實在是太高了,國行版起售價29999元,勸退不少用戶。當然,作為系列的第一代產品,Vision Pro存在一些問題也是正常的,而且蘋果也意識到了這些問題,並計劃開發更適合市場的版本。有外媒爆料稱,蘋果正在開發一款更輕、更便宜的頭戴產品,代號...
「一起益企」走進延邊 助力企業「智改數轉」 - 天天要聞

「一起益企」走進延邊 助力企業「智改數轉」

6月18日,2024年「一起益企」服務中小企業市縣行之延邊州數字化賦能培訓活動在延邊白山大廈舉辦。本次活動由吉林省促進中小企業發展服務中心主辦、延邊州工業和信息化局承辦,旨在加快推進全省中小企業智能化改造和數字化轉型工作,提升企業對「智改數轉」的認知度和參與度,搭建服務供需對接平台,助力企業從「製造」走向...