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

科技分類資訊推薦

一圖看懂iQOO Pad2系列平板:天璣9300+、第三代驍龍8s雙全球首發 - 天天要聞

一圖看懂iQOO Pad2系列平板:天璣9300+、第三代驍龍8s雙全球首發

快科技5月20日消息,今日,iQOO官方公布了iQOO Pad2 Pro、iQOO Pad2兩款平板電腦的核心配置。據了解,iQOO Pad2 Pro、iQOO Pad2將分別首發搭載聯發科天璣9300+處理器和高通第三代驍龍8s處理器。iQOO Pad2 Pro正面採用13英寸電競巨幕,解析度為3.1K,支持144Hz刷新率,擁有900nit最高亮度,通過
特斯拉開始推送 FSD v12.4 更新:告別「扶方向盤提醒」 嘮叨 - 天天要聞

特斯拉開始推送 FSD v12.4 更新:告別「扶方向盤提醒」 嘮叨

IT之家 5 月 20 日消息,特斯拉開始推送其最新的 FSD v12.4 更新,此次更新移除了備受爭議的「扶方向盤提醒」,同時改進了基於攝像頭的駕駛員監測系統,解決了此前利用太陽眼鏡逃避檢測的漏洞。特斯拉首席執行官埃隆・馬斯克 (Elon Musk) 一貫喜歡稱即將發布的 FSD 更新為「令人震驚」的升級。不過,這次除了誇張的形容詞之...
電信巨頭進軍衛星通訊 SpaceX迎勁敵 - 天天要聞

電信巨頭進軍衛星通訊 SpaceX迎勁敵

隨著以手機直連衛星為代表的星地融合應用的快速增長,衛星移動通信產業開始從部分行業的專用領域,逐漸向大眾消費領域拓展。美國也是如此:有運營商已經計劃為5G版iPhone提供衛星通話和寬頻服務。上周,美國電信巨頭AT&T(美國國際電話電報公司)與衛星通信初創公司AST SpaceMobile公司簽署了一項協議,將直接向日常手機提...
數字化2.0時代來臨,大咖「解碼」數字金融 - 天天要聞

數字化2.0時代來臨,大咖「解碼」數字金融

「不論是科技金融、金融科技或者數字金融,最終目的是驅動金融更好地服務實體經濟。」在日前舉辦的「2024數雲原力大會·新動力數字金融論壇」上,國家金融與發展實驗室理事長李揚說道。中央金融工作會議提出,著力做好科技金融、綠色金融、普惠金融、養老金融、數字金融「五篇大文章」。「數字金融」首次被寫入中央文件,其...
歷史首次!iPhone15官旗降至第三方渠道價,立減2000衝刺618 - 天天要聞

歷史首次!iPhone15官旗降至第三方渠道價,立減2000衝刺618

近幾年,什麼稀奇事都見過了,但沒想到,還是會被蘋果所震驚!去年,iPhone15系列發布後沒多久,蘋果就罕見的拿新款手機參加了雙11。今年,iPhone15官旗立減2000多,價格降至第三方渠道價,衝刺618。歷史首次!這每一件事情拿出來都是「爆炸性」的消息,難道蘋果真的沒招了?
華為Mate 70 或 9 月發,性能提升、純血鴻蒙 - 天天要聞

華為Mate 70 或 9 月發,性能提升、純血鴻蒙

文末有視頻不要忘記看喲~上個月,曝光已久的華為Pura70系列正式宣布了先鋒計劃,並在開售後取得了相當不錯的成績反饋。現在,隨著時間來到2024年5月下旬,華為將在下半年帶來哪些新品也成為了備受關注的內容之一。按慣例推測,華為下半年將推出新一代的Mate系列旗艦,具體的發布時間有可能會在9月前後。與此同時,不少用戶...
OPPO Reno12系列再預熱:首個能發布實況照片的安卓機 - 天天要聞

OPPO Reno12系列再預熱:首個能發布實況照片的安卓機

不久前,OPPO官方宣布,OPPO Reno12系列將於5月23日16:00發布。而隨著發布時間的臨近,官方也陸續公布了不少新機的信息。據官方今日的預熱顯示,OPPO Reno12系列是「首個能發布實況照片的安卓機」,擁有實況照片LivePhoto功能,支持小紅書平台發布,支持全焦段,支持美顏,支持封面編輯,支持封面幀ProXDR顯示。據悉,在OP...
​Redmi Turbo 3手機全系降價100元,推出全新「鏡瓷白」配色 - 天天要聞

​Redmi Turbo 3手機全系降價100元,推出全新「鏡瓷白」配色

在上個月舉行的Redmi Turbo 3新品發布會上,Redmi Turbo 3正式亮相發布,提供冰鈦、青刃、墨晶三款配色可選。今日,Redmi紅米手機官宣,Redmi Turbo 3推出全新的「鏡瓷白」配色,並於今晚8點開售。據官方的介紹顯示:「Turbo 3不僅輕薄能打,還十分好看!在萬般色彩中,白色是遺世獨立的存在,它是永恆的經典,更蘊含無限的...
傳高通驍龍8 Gen4價格將進一步上漲,手機廠商面臨定價壓力 - 天天要聞

傳高通驍龍8 Gen4價格將進一步上漲,手機廠商面臨定價壓力

5月19日消息,據外媒WCCFtech報導,高通預計將會在今年10月正式發布新一代旗艦級移動平台驍龍8 Gen 4,將會首度採用高通定製的Oryon CPU內核,但這高昂的價格可能讓合作夥伴壓力山大。一位爆料人士透露,驍龍8 Gen 4將會與蘋果M4、A18 Pro一樣採用台積電N3E製程,性能和能效將得到改善,但價格也將會進一步上漲,或將超過2...
萬物新生(愛回收)Q1營收36.5億,non-GAAP經營利潤同比增長80% - 天天要聞

萬物新生(愛回收)Q1營收36.5億,non-GAAP經營利潤同比增長80%

連續七個季度實現運營盈利。本文為IPO早知道原創作者|Stone Jin據IPO早知道消息,二手消費電子產品交易和服務平台萬物新生(愛回收)集團(NYSE:RERE)於5月20日發布了2024年第一季度業績報告。財報顯示,2024年第一季度,萬物新生集團總收入36.5億元,同比增長27.1%,達到收入指引區間高端。從營收構成來看,1P(自營)...