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

科技分類資訊推薦

零跑全新C11上市,14.98萬起售 - 天天要聞

零跑全新C11上市,14.98萬起售

7月10日,零跑汽車旗下智能越享中型SUV——全新C11正式上市,上市指導價14.98-16.58萬元。零跑C11上市4年來,累計銷量已突破25萬台,是零跑的重要的走量車型,全新C11在造型設計、智能座艙、續航性能、輔助駕駛、駕控體驗及安全基因等六大維度實現全面升級。此次上市的全新C11延續純電與增程雙動力版本,其中,純電車型搭載...
張旭院士:我國類腦智能規模應用潛力巨大 - 天天要聞

張旭院士:我國類腦智能規模應用潛力巨大

7月11日,省加快推進現代化產業體系建設專題會議(人工智能與機器人產業專場)在廣州舉行。現場,來自相關領域的專家學者、企業家、人大代表、研究機構代表踴躍發言,為廣東人工智能與機器人產業的發展積極建言、出謀劃策。中國科學院院士、廣東省智能科學與技術研究院院長張旭表示,類腦智能技術作為新一代智能技術的核心...
【芯片】Tensor G5曝光,Pixel10工程機現身海鮮市場 - 天天要聞

【芯片】Tensor G5曝光,Pixel10工程機現身海鮮市場

近日谷歌Pixel 10 Pro Fold出現在了GeekBench跑分數據庫中:新機搭載了谷歌全新的Tensor G5處理器,據悉這代終於是告別了三星工藝,轉而擁抱台積電N3E工藝。從顯示信息來看,Tensor G5採用了1+5+2的八核CPU架構,1*3.78GHz X4超大核+5*3.05GHz A725大核+2*2.25GHz A520小核構成。單核
【新機】2K屏+潛望長焦,iQOO 15曝光 - 天天要聞

【新機】2K屏+潛望長焦,iQOO 15曝光

說到iQOO的數字旗艦系列,這代iQOO13相機被刀還是挺可惜的,主要也是為了避免和老大哥X200產生衝突。今天@數碼閑聊站曝光了下代iQOO旗艦的信息:新機可能會跳過iQOO 14,直接命名為iQOO 15,這代將會有中杯/大杯兩個杯型。新機將會採用6.85英寸2K LIPO三星定製直面屏,屏幕邊框極窄,支持Pol-less去偏光技術,還具有AR抗眩...
清華專家破百年陳規!滬上論壇曝電力革新,陳磊構想太敢了 - 天天要聞

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

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

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

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