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

科技分類資訊推薦

清華專家破百年陳規!滬上論壇曝電力革新,陳磊構想太敢了 - 天天要聞

清華專家破百年陳規!滬上論壇曝電力革新,陳磊構想太敢了

聽說了嗎?清華大學的專家居然說要徹底打破電力系統運行了上百年的規矩!就在上海那場新能源論壇上,陳磊研究員拋出個重磅觀點 —— 以後用電不用再看頻率臉色,有功功率想咋調就咋調!這事兒要是真能成,咱們家裡的空調、電動車充電可就再也不會因為電網不
消費活力釋放,上海零售商業形態向“文商旅體展”融合演進 - 天天要聞

消費活力釋放,上海零售商業形態向“文商旅體展”融合演進

2025年二季度,在上海市政府經濟刺激方案推動下,上海商業市場消費活力逐步釋放,但零售物業租賃指標的復蘇態勢仍顯平緩。核心商圈平均租金為1877元/平方米/月,平均出租率為94.71%,整體表現與去年同期持平,其中徐家匯、陸家嘴等商圈憑藉成熟商業生態,表現相對突出。但與非核心商圈相比,從存量、新增供應、凈吸納量等指...
OPPO K13 Turbo 系列真機曝光,7 月 21 日發布 - 天天要聞

OPPO K13 Turbo 系列真機曝光,7 月 21 日發布

IT之家 7 月 11 日消息,博主 @i冰宇宙 今日分享了一款帶保密殼的新機真機圖,配備 RGB 燈效以及主動散熱風扇,預計為剛剛官宣的 OPPO K13 Turbo 系列。IT之家注意到,OPPO K13 Turbo 系列將於 7 月 21 日發布,在 GeekBench 6.3.0 中單核成績為 2156 分,多核成績為 6652 分,預計搭載高通驍龍
醒醒吧!CEO猛吹AI寫95%代碼,績效考核卻還在拼程序員手速? - 天天要聞

醒醒吧!CEO猛吹AI寫95%代碼,績效考核卻還在拼程序員手速?

編譯 | Tina在 AI 工具席捲開發圈之後,一批技術老兵的工作方式悄然發生變化。Superhuman (原生 AI 郵件應用)工程負責人 Loic Houssier 正是這場轉型的親歷者之一。這位出身數學背景、擁有密碼學工程經驗的 VP,曾帶領團隊經歷了從大型 B2C 到核心底層架構的複雜挑戰。而當 ChatGPT、Claude Code 等工具走進日常