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應用中調用這個介面來實現你的需求。當然在實際使用的場景中,需要注意適當處理異常情況,比如文件路徑錯誤、文件不存在等。來保證你的程序的健壯性。

科技分類資訊推薦

iPhone一鍵降溫?蘋果這隱藏模式有點過分啊 - 天天要聞

iPhone一鍵降溫?蘋果這隱藏模式有點過分啊

為了解決發熱這亘古難題,手機廠商絞盡腦汁,往手機里塞散熱膜、均熱板、填充硅脂,甚至還用上了主動風扇。 但到了夏天三四十度的室外,該發熱還是發熱,該燙手還是燙手。 國產安卓如此。 ....
三星Galaxy S26Ultra不裝了,性能太炸裂了! - 天天要聞

三星Galaxy S26Ultra不裝了,性能太炸裂了!

三星Galaxy S26 Ultra即將亮相,帶來多方面升級。·該機型將採用6.9英寸QHD+LTPO AMOLED顯示屏,支持120Hz自適應刷新率和3000尼特峰值亮度,確保在各種光照條件下都能提供清晰的視覺體驗。
中集洋山集裝箱第三季度訂單飽滿 開拓氫能集成裝備求新|公司調研 - 天天要聞

中集洋山集裝箱第三季度訂單飽滿 開拓氫能集成裝備求新|公司調研

財聯社7月5日訊(記者 胡皓瓊)中美關稅緩和之下,外貿企業對美出貨恢復,帶動中集洋山集裝箱製造訂單增長。集裝箱製造廠在提升自動化水平的同時,為提高自身抗風險能力,還正布局新賽道。財聯社記者近日走訪中集集團(000039.SZ)旗下中集洋山,眼見一片片鋼板,經歷衝壓、焊接組裝、打砂等一道道工序,逐漸成形。產線上布...
數據寶一體機實機首秀2025生態文明貴陽國際論壇 - 天天要聞

數據寶一體機實機首秀2025生態文明貴陽國際論壇

7月5日至6日,2025年生態文明貴陽國際論壇召開,數據寶攜其AI技術領先成果重磅亮相論壇人工智慧展區,並以「企業私域業務模型一體機」實機首秀,現場演繹數據資產與AI深度賦能綠色發展的創新融合實踐。數據寶「企業私域業務模型一體機」。
登上C909樣機,聽聽中國商飛工程總師怎麼說?《明青講習所》又上新了 - 天天要聞

登上C909樣機,聽聽中國商飛工程總師怎麼說?《明青講習所》又上新了

名師金課《明青講習所》今又上新,這期節目《「科學家精神」的迴響》聚焦於「科學家精神的時代傳承」,定於7月5日(周六)19:30 在上海教育電視台首播。陳明青老師帶領華東師範大學第一附屬中學、上海市魯迅中學、上海南湖職業技術學院的學生們,踏上沉浸式學習之旅,走進錢學森圖書館、中國商飛上海飛機設計研究院、上海科...