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

科技分類資訊推薦

微信鴻蒙版確定!騰訊旗下多款產品鴻蒙系統適配開發中 - 天天要聞

微信鴻蒙版確定!騰訊旗下多款產品鴻蒙系統適配開發中

昨日,一條“微信正與華為開發原生鴻蒙適配”的話題衝上了微博熱搜。對此,小編詢問了騰訊客服智能助手官方賬號獲悉:“微信正與華為進行原生鴻蒙操作系統的開發適配與技術溝通工作,因體量、功能差異,不同產品的適配周期和進度不同,請您耐心等候,感謝您的
雖晚未遲到,這三款好口碑手機放到現在依然值得買 - 天天要聞

雖晚未遲到,這三款好口碑手機放到現在依然值得買

下半年已經開始了,馬上就有一批新機要上市了 ,最新的芯片和配置也要亮相了,但是對於廣大的普通消費者來說,買手機沒有必要買最新的手機,畢竟之前發布的手機不論從顏值和性能來看都足夠使用,今天我就推薦三款好口碑的舊機,雖晚未遲到,現在依然值得買。
Redmi Note 14 系列曝光,或9月發布 - 天天要聞

Redmi Note 14 系列曝光,或9月發布

最近,關於Redmi品牌的新機爆料正在陸續出現。最新的消息顯示,全新的Redmi Note 14 系列手機也正在準備之中了。消息顯示,目前已有多款小米旗下新機現身了 IMEI 數據庫,且型號信息中也顯示了這些設備將在什麼時候到來。
“科創板八條”後併購第二單!納芯微擬收購麥歌恩79.31%股份 - 天天要聞

“科創板八條”後併購第二單!納芯微擬收購麥歌恩79.31%股份

《科創板日報》6月23日訊(記者 郭輝)“科創板八條”後產業併購第二單來了。今日(6月23日),納芯微發布公告稱,擬以現金方式收購上海麥歌恩微電子股份有限公司(下稱“麥歌恩”)合計79.31%的股份,收購對價合計達7.93億元。納芯微表示,該公司一直圍繞下游核心應用場景不斷豐富產品品類,本次交易是公司基於聚焦主業發...
油耗低 空間大 價格實在 海豹06 DM-i實拍導購 - 天天要聞

油耗低 空間大 價格實在 海豹06 DM-i實拍導購

5月底,比亞迪在第五代DM技術發布會上同步上市了秦L和海豹06 DM-i,兩款車型以NEDC工況2.9L/100km的低油耗、接近中級車的尺寸和不到10萬的入門價格,迅速引發市場積極反饋,收穫大量訂單。同時還引起了合資緊湊級與中級轎車的集體優惠降價,足以證明對
月銷跌至255台,環比下滑54%,星紀元ES卷不動了? - 天天要聞

月銷跌至255台,環比下滑54%,星紀元ES卷不動了?

理想很豐滿,但現實很骨感。白熱化的市場之爭中,儘管有不少產品車型得到了市場認可,但是,也有不少車型在車市江湖的打拚中被磨去了稜角和銳氣,儘管產品力不俗但市場表現卻比較冷清,雖然說還能夠在苦苦支撐中立足下來,但市場前景卻讓人替其捏了一把汗,比如理想MEGA等,當